Сборник "быстрых" полезных ссылок:
MicroCore - ATtiny13
MiniCore - ATmega8, ATmega48, ATmega88, ATmega168, ATmega328
MightyCore - ATmega16, ATmega32, ATmega164, ATmega324, ATmega644, ATmega1284, ATmega8535
MegaCore - ATmega64, ATmega128, ATmega640 ...
MegaCoreX - ATmega4809, ATmega4808, ATmega3209, ATmega3208, ATmega1609, ATmega1608, ATmega809, ATmega808
ATTinyCore - ATtiny441, 841, ATtiny1634, ATtiny87, 167, ATtiny25, 45, 85, ATtiny24, 44, 84, ATtiny261, 461, 861 ...
megaTinyCore - ATtiny3227, 1627, 827, 427, ATtiny402, 202 ...
DxCore - AVR128DA28, AVR128DB64, AVR64DD14 ...
А благодаря надстройкам, Arduino IDE также "понимает" и код "чистого AVR".
Blink в Attiny13A:
Код: Выделить всё
#include <avr/io.h>
#include <avr/interrupt.h>
// ATtiny13A
// _____
// RESET/ADC0/PB5 -| ^ |- VCC
// ADC3/PB3 -| |- PB2/ADC1
// ADC2/PB4 -| |- PB1
// GND -|_____|- PB0
#define LED_PIN PB0
ISR(TIM0_OVF_vect) {
PORTB ^= _BV(LED_PIN); // toggle LED pin
}
int main(void) {
DDRB = 0b00000001; // set LED pin as OUTPUT
PORTB = 0b00000000; // set all pins to LOW
TCCR0B |= _BV(CS02) | _BV(CS00); // set prescaler to 1024 (CLK = 1200000Hz / 1024 / 256 = 4Hz, 0.25s)
TIMSK0 |= _BV(TOIE0); // enable Timer Overflow interrupt
sei();
while (1);
}