Использование PB6 PB7 atmega328p

ales2k
Offline
Зарегистрирован: 25.02.2013

После перехода на внутренний генератор,

пытался найти инфу как пользоваться выводвами PB6 PB7 нашел только

http://arduino.cc/forum/index.php?topic=60744.0;wap2

Ссылка на которую ссылаются на форумах http://placeboaudio.com/how-tu-use-atmega-pb6-pb7-with-arduino-when-n сто лет как умерла

Пробовал через регистры - никак,

pins_arduino.h поправил - тоже никак.

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,
PB,
};
 
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),
_BV(7),
};
 
Запись в boards.txt с которой прошивался:
 
myuno.name=MyArduino Uno
myuno.upload.protocol=arduino
myuno.upload.maximum_size=32256
myuno.upload.speed=57600
myuno.bootloader.low_fuses=0xe2
myuno.bootloader.high_fuses=0xde
myuno.bootloader.extended_fuses=0x05
myuno.bootloader.path=optiboot
myuno.bootloader.file=optiboot_atmega328.hex
myuno.bootloader.unlock_bits=0x3F
myuno.bootloader.lock_bits=0x0F
myuno.build.mcu=atmega328p
myuno.build.f_cpu=8000000L
myuno.build.core=arduino
myuno.build.variant=standard
 
Может кто ходил уже по граблям и подскажет чего???
P/S/ Мож во фьюзах нужно чтото еще поправить???
ales2k
Offline
Зарегистрирован: 25.02.2013

Блин не пойму в чем дело -

вдруг заработало для Библиотеки OneWire

alex_r61
Offline
Зарегистрирован: 20.06.2012

Эти выводы в Ардуине задействованы под кварц и в библиотеках не используются.

Но если кварца нет можно использовать как обычные пины. И если библиотека позволяет

свободно назначать пины, то должно работать.

ales2k
Offline
Зарегистрирован: 25.02.2013

По умолчанию их среда разработки не поддерживает, написано нужно править pins_arduino.h 

olegab
Offline
Зарегистрирован: 09.04.2013

 

регистр 8-ми битовый, все должно работать.
во фьюзах внешний генератор нужно отключить
#define PB6_out DDRB |=1<<6;
#define PB7_out DDRB |=1<<7;
#define PB6_high PORTB|=1<<6;
#define PB7_high PORTB|=1<<7;
#define PB6_low PORTB&=~(1<<6);
#define PB7_low PORTB&=~(1<<7);
#define PB6_pin (PINB&1<<6)>>6
#define PB7_pin (PINB&1<<7)>>7
void setup() {
  PB6_out;
  PB7_out;
}
void loop() {
 PB6_high; 
 PB7_high; 
  delay(150); 
PB6_low; 
PB7_low; 
 //PORTB&=B00111111;
delay(150);
}