январь 28, 2021

Использование в Arduino выводов PB6 и PB7 при работе от внутреннего генератора для Atmega328P

Уже дважды я сталкивался с таким вариантом разводки и дважды приходилось искать.

Нужно просто открыть файлик pins_arduino.h для вашего варианты платы и изменить пару объявлений вот таким образом. Честно спер у https://github.com/remy

const uint8_t PROGMEM digital_pin_to_port_PGM[] = {
	PD, /* 0 */
	PD,
	PD,
	PD,
	PD,
	PD,
	PD,
	PD,
	PB, /* 8 */
	PB,
	PB,
	PB,
	PB,
	PB,
	PC, /* 14 */
	PC,
	PC,
	PC,
	PC,
	PC,
        PB, /* 20  - PB6*/
        PB, /* 21  - PB7*/
};

const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = {
	_BV(0), /* 0, port D */
	_BV(1),
	_BV(2),
	_BV(3),
	_BV(4),
	_BV(5),
	_BV(6),
	_BV(7),
	_BV(0), /* 8, port B */
	_BV(1),
	_BV(2),
	_BV(3),
	_BV(4),
	_BV(5),
	_BV(0), /* 14, port C */
	_BV(1),
	_BV(2),
	_BV(3),
	_BV(4),
	_BV(5),
	_BV(6), /* 20 - PB6 */
	_BV(7), /* 21 - PB7 */
};