[an error occurred while processing this directive]
|
Из Вашего кода получается, данные будут загружаться в память до тех пока, указатель не переполнится и станет равным нулю. То есть перейдет через значение 65535 на ноль. AVR, c таким объёмом ОЗУ не встречал. На практике он один раз заполнит всю память, начнёт с нуля, перетрёт всё регистры, включая и Y. Я бы сделал так, если не требуется загружать больше, чем 256 байт:
ldi xl, low(Start_Address)
ldi xh, high(Start_Address)
ldi r16, qty_Bytes
Start_loading:
in r17, PortB// 1 такт
st Y+, r17// 2 такта
dec r16// 1 такт
brne Start_loading// 2 такта при переходе
Того 6. Как короче не знаю.
E-mail: info@telesys.ru