Код: Выделить всё
rjmp PCожидая прерывания (таймер), а в обработчике прерывания сделает свои дела и перед выходом увеличит хранящийся в стэке двухбайтный адрес счётчика команд, чтобы перейти на следующую за rjmp PC инструкцию?
Код: Выделить всё
rjmp PCКод: Выделить всё
EEP_RDY:
ldi RON2, _TRUE
reti
....................
....................
ldi RON2, _FALSE
EEP_WAIT_LOOP:
cpi RON2, _TRUE
brne EEP_WAIT_LOOP
...............
DX168B писал(а):Не думаю.
Только если коды обработчика прерывания и места в программе не расположены далеко друг от друга.
Если МК поддерживает инструкцию jmp, то тогда можно и так (в случае, если rjmp не тянет).
Код: Выделить всё
pop ZH
pop ZL
adiw ZL,1
ijmp
ploop писал(а):сделай в прерывании так
ploop писал(а):На счет порядка ZH,ZL не уверен
Код: Выделить всё
Macro Outi ; Макрос - запись константы в порт
Ldi Temp, @1 ; Положить в переменную второй аргумент
Out @0, Temp ; Записать его в первый аргумент-порт
.EndMacro ; Конец макроса
;****************************************************************************************************
.Main: ; Точка входа
Outi SPL, RAMEND ; Установить вершину стека
Outi ACSR, 0x80 ; Отключить аналоговый компаратор
Outi MCUCR, 0x24 ; Глубокий сон
Outi GIMSK, 0x20 ; Разрешить прерывания по изменению уровня на ножках контроллера
Outi TIMSK0, 0x04 ; Разрешить прерывания по регистру сравнения таймера
Outi OCR0A, 11 ; Регистр сравнения = 9.6 MHz / 11+1 / 8 = 10 kHz разрешение таймера
Sbi PCMSK, RXD ; Прерывание по RXD
Sbi DDRB, REN ; Разрешить прием
Cbi PORTB, REN команд настройки ?
Код: Выделить всё
Outi ACSR, 0x80Код: Выделить всё
Ldi Temp, 0x80
Out ACSR, Temp... макрос служит для уменьшения размера исходного файла (именно текста, а не кода ) т.е. для лучшей "читаемости", ну и других "удобств"я так понимаю этот макрос-сокращение команд настройки ?
для сокращения числа команд
ploop писал(а):Тогда компилятор просто не даст использовать rjmp. jmp, кстати, появляется у контроллеров с более 16к флеша.
AVR Studio 4 писал(а):error: Relative branch out of range.

типа неизвестные символы...