Arduino Pro IDE
https://github.com/arduino/arduino-pro-ide
правда 64 бит - древнючие XP отпадают.
Проверил - компилит, там еще всяких штучек-дрючек есть, типа дебага - не проверял

Код: Выделить всё
ATtiny13A instruction use summary:
.lds : 0 .sts : 0Микроконтроллеры ATtiny 4/5/9/10 поставляются с "уменьшенным" (reduced) ядром AVR CPU. Одно из изменений ядра касается введения различных инструкций доступа к памяти. Вместо инструкций из 2 слов LDS/STS поддерживается инструкция в 1 слово LDS/STS, что позволяет осуществить доступ к SRAM за 1 такт.
Код: Выделить всё
Table 4-1. Versions of AVR® 8-bit CPU
Name Description
AVR Original instruction set from 1995
AVRe AVR instruction set extended with the Move Word (MOVW) instruction, and the Load Program
Memory (LPM) instruction has been enhanced. Same timing as AVR.
AVRe+ AVRe instruction set extended with the Multiply (xMULxx) instruction. Same timing as AVR and
AVRe.
AVRxm AVRe+ instruction set extended with the Read Modify Write (RMW) and Data Encryption
Standard (DES) instructions. SPM extended to include SPM Z+2. Significantly different
timing compared to AVR, AVRe, AVRe+.
AVRxt A combination of AVRe+ and AVRxm. Available instructions are the same as AVRe+, but the
timing has been improved compared to AVR, AVRe, AVRe+ and AVRxm.
AVRrc AVRrc has only 16 registers in its register file (R31-R16), and the instruction
set is reduced. The timing is significantly different compared to the AVR, AVRe, AVRe+,
AVRxm and AVRxt. Refer to the instruction set summary for further details.з.ы. ардуины заполонили - пора на пенсионATtiny10Core Для программирования ATtiny10/9/5/4.
Поддерживаемые версии IDE
ATtiny10Core должен работать со всеми версиями официальной IDE (из arduino.cc), начиная с версии 1.6.3. Рекомендуется версия 1.8.3.
Установка
Загрузите .zip, распакуйте его и поместите в папку оборудования внутри папки Arduino в папке Documents . Если папки оборудования нет, сначала создайте ее.
Поддерживаемые варианты микросхем:
ATtiny10
ATtiny9
ATtiny5
ATtiny4
Код: Выделить всё
#include <avr/io.h>
#include <stdint.h>
int main (void) {
DDRB = 1; // PB0 as an output
TCCR0A = 1<<COM0A0 | 0<<WGM00; // Toggle OC0A, CTC mode
TCCR0B = 1<<WGM02 | 3<<CS00; // CTC mode; use OCR0A; /64
OCR0A = 15624; // 1 second; ie 0.5Hz
while (1);
}ещеОн использует Timer / Counter0 для деления системных часов 1 МГц на значение предварительного делителя, равное 64, а затем на 15625, переключая выходной PB0 с периодом в 1 секунду.
Код: Выделить всё
#include <avr/io.h>
#include <stdint.h>
int main (void) {
DDRB = 1; // PB0 as an output
// Set up ADC on PB2
ADMUX = 1<<MUX0; // ADC1 (PB1)
ADCSRA = 1<<ADEN | 3<<ADPS0; // Enable ADC, 125kHz clock
// Set up waveform on PB0
TCCR0A = 1<<COM0A0 | 3<<WGM00; // Toggle OC0A, Fast PWM
TCCR0B = 3<<WGM02 | 4<<CS00; // Fast PWM with OCR0A as TOP; /256
// Main loop
for (;;) {
ADCSRA = ADCSRA | 1<<ADSC; // Start
while (ADCSRA & 1<<ADSC); // Wait while conversion in progress
OCR0A = ADCL; // Copy result to frequency output
}
}