[an error occurred while processing this directive]
Ответ: А разве у Mega8515 R0 работает с портами.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено ДМ 19 сентября 2005 г. 11:17
В ответ на: Как сэкономить такты AVR при чтении в память ? отправлено LDIR 19 сентября 2005 г. 10:48

Из Вашего кода получается, данные будут загружаться в память до тех пока, указатель не переполнится и станет равным нулю. То есть перейдет через значение 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: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru