19:33
Схема портов и памяти Arduino — Лисья нора
§ Схема портов
Порты начинаются с 20h до 5Fh — гарантированно. Но есть и расширенные порты:§ Периферия #1
Чтение из поортов
$00 Последний ASCII символ от клавиатуры
$01 Значение 100 Гц таймера
$02 [0] =1 Был получен новый символ. При чтении сбрасывается
$03 [0] =1 Был получен VBlank, конец рисования кадра
$04 [3:0] SD Error
[5:4] SD Card Type
[6] SD Done :: Успешное выполнение команды
[7] SD Busy :: 1-Устройство занятоЗапись в порты$00 [2:0] Цвет бордюра $01 [0] Номер видеостраницы 0=$8000, 1=$A000 $02 SD LBA [ 7: 0] $03 SD LBA [15: 8] $04 SD LBA [23:16] $05 SD LBA [31:24] $06 SD CMD =0 Читать =1 ПисатьМаппинг памяти
$0000-$00FF Порты $0100-$7FFF Общая память $8000-$9FFF Видеостраница #1 $A000-$BFFF Видеостраница #2 $C000-$FBFF Общая память $FC00-$FFFF SD i/o 1K
§ Порты Arduino
Микроконтроллер Atmega328P:| 0/8 |1/9 | 2/A | 3/B | 4/C | 5/D | 6/E | 7/F ---+-------+-------+--------+--------+--------+--------+--------+----- 20 | ... | ... | ... | PINB | DDB | PORTB | PINC | DDC 28 | PORTC | PIND | DDD | PORTD | ... | ... | .. | ... 30 | ... | ... | ... | ... | ... | TIFR0 | TIFR1 | TIFR2 38 | ... | ... | ... | PCIFR | EIFR | EIMSK | GPIOR0 | EECR 40 | EEDR | EEARL | EEARH | GTCCR | TCCR0A | TCCR0B | TCNT0 | OCR0A 48 | OCR0B | ... | GPIOR1 | GPIOR2 | SPCR | SPSR | SPDR | ... 50 | ACSR | ... | ... | SMCR | MCUSR | MCUCR | ... | SPMCSR 58 | ... | ... | ... | RAMPZ | ... | SPL | SPH | SREGСвободные порты резервированы для дальнейшего использования, но я займу для них место под собственную периферию.