Arduino AVR programmering sköld (6 / 7 steg)
Steg 6: Några anteckningar om Attiny kärnor
PAGEL och BS2 varningar:
AVRdude, som är den underliggande mjukvaran för att prata med AVR chips genererar följande varningar för Attinys:
avrdude: definiera PAGEL och BS2 signaler i konfigurationsfilen för del ATtiny84
avrdude: definiera PAGEL och BS2 signaler i konfigurationsfilen för del ATtiny84
Dessa varningar kan ignoreras.
Digitala och analoga Pin-koder:
Om du vill engagera pullup motstånd, och sedan läsa en analoga värde, behöver du två pin-koder som kan eller inte kan matcha. Ta en titt på Attiny85:
ATMEL ATTINY45 / ARDUINO < br > / /
// +-\/-+
Ain0 (D 5) PB5 1| |8 VCC
Ain3 (D 3) PB3 2 | |7 PB2 (D 2) INT0 Ain1
Ain2 (D 4) PB4 3| |6 PB1 (D 1) pwm1
GND 4| |5 PB0 (D 0) pwm0
// +----+
Observera att A3 och D3 är samma, men om du vill engagera den inre pull-up resistorn på PB2 (fysiska pin 7), behöver du följande:
pinMode (2, ingång);
digitalWrite (2, hög).
int val = analogRead(1);
Lite förvirrande. Låt mig veta om du räkna ut ett bättre sätt att hantera detta!
Attiny84 Pin-koder:
Beroende på kärnan du använder, är pin-koder olika!
/*
"lilla" kärna, aka https://code.google.com/p/arduino-tiny/:
Arduino-Tiny är baserad på arbete av David A. Mellis, René Bohne, R. Wiersma,
Alessandro Saporetti och Brian Cook.
"attiny84at8.name=ATtiny84 @ 8 MHz (intern oscillator; BOD inaktiverad)"
ATMEL ATTINY84 / ARDUINO
+-\/-+
VCC 1| |14 GND
(D 0) PB0 2 | |13 AREF (D 10) A0
(D 1) PB1 3| |12 PA1 (9 D) A1
PB3 4| |11 PA2 (D 8) A2
PWM INT0 (D 2) PB2 5| |10 PA3 (7 D) A3
PWM A7 (3 D) PA7 6| |9 PA4 (D 6) A4
PWM A6 (D 4) PA6 7| |8 PA5 (D 5) A5 PWM
*/
/*
"attiny" CORE aka https://github.com/damellis/attiny/, David A. Mellis
"attiny84-8.name = ATtiny84 (inre 8 MHz klocka)"
ATMEL ATTINY84 / ARDUINO
+-\/-+
VCC 1| |14 GND
(10 D) PB0 2 | |13 AREF (D 0)
(9 D) PB1 3| |12 PA1 (D 1)
PB3 4| |11 PA2 (D 2)
PWM INT0 (D 8) PB2 5| |10 PA3 (3 D)
PWM (7 D) PA7 6| |9 PA4 (D 4)
PWM (D 6) PA6 7| |8 PA5 (D 5) PWM
*/