Как получить доступ к порту B Attiny84 в коде Arduino IDE?

Ссылаясь на руководство на High-low tech, я смог прошить ATTiny84 через UNO через Arduino IDE 1.6.7.

Я загрузил простую программу мигания светодиодов на контакт 0 IDE (физический контакт 13 Attiny84, PA0), и все работает нормально для контактов с 0 по 7 в порту A.

Но что, если я хочу получить доступ или мигать светодиодом на одном из контактов порта B? Пример: PB0 (физический контакт 2)

Ниже приведен мой текущий код для мигания PA7

int led=7; //PA7

void setup() {
  pinMode(led, OUTPUT);
}

void loop() {
  digitalWrite(led, HIGH);
  delay(100);
  digitalWrite(led,LOW);
  delay(100);
}

, 👍2


2 ответа


Лучший ответ:

0

См. URL-ссылку @Mikael, это ответ, который я ищу.

Arduino IDE & Pin Mapping 
// ATMEL ATTINY84 / ARDUINO
//
//                           +-\/-+
//                     VCC  1|    |14  GND
//             (D 10)  PB0  2|    |13  AREF (D  0)
//             (D  9)  PB1  3|    |12  PA1  (D  1) 
//                     PB3  4|    |11  PA2  (D  2) 
//  PWM  INT0  (D  8)  PB2  5|    |10  PA3  (D  3) 
//  PWM        (D  7)  PA7  6|    |9   PA4  (D  4) 
//  PWM        (D  6)  PA6  7|    |8   PA5  (D  5)        PWM
//                           +----+

IDE Attiny84 Physical Pin
  0      PA0           13
  1      PA1           12
  2      PA2           11
  3      PA3           10
  4      PA4            9
  5      PA5            8
  6      PA6            7
  7      PA7            6
  8      PB2            5
  9      PB1            3
 10      PB0            2

Чтобы мигать PB0, мне нужно заменить свой код на int led=2; //PB0

,

Не должно ли быть: int светодиод = 10; //PB0, @PimV


4

Согласно веб-странице ATtiny, контакты/порты пронумерованы, как показано ниже:

ATtiny44/ATtiny84

Физический контакт 2 — это контакт 10 ядра Arduino ATtiny. Вы также можете найти его хорошо задокументированным в pins_arduino.h.

Ура!

,

картинка не то, что я ищу, но pins_arduino.h очень помогает, @Dennis