[an error occurred while processing this directive]
Неправильно разрешаешь запись, не запрещаешь прерывания и т.д. Смотри внутри -->
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено =AVR= 16 июня 2006 г. 19:15
В ответ на: Что не правильно делаю?(+) отправлено <font color=gray>bigen</font> 16 июня 2006 г. 18:37


#include "m8515def.inc"

.def temp = r16

;Fills all EEPROM locations with zero value
eezero:
ldi temp,0 ;EEPROM fill value

;Alternate entry - fills all EEPROM locations with any value from temp
eefill:
push zl ;Save Z
push zh ;

ldi zl,low(eepromend) ;EEPROM highest address LSB
ldi zh,high(eepromend) ;EEPROM highest address MSB

eew_lp:
out eearl,zl ;Set EEPROM address LSB
out eearh,zh ;Set EEPROM address MSB

out eedr,temp ;Load EEPROM fill value to EE data reg

cli ;Disable interrupts - important!!!
sbi eecr,eemwe ;Enable EEPROM writes
sbi eecr,eewe ;
sei ;Enable interrupts

eew_rdy:
sbic eecr,eewe ;Wait until EEPROM is ready for next write
rjmp eew_rdy ;

sbiw z,1 ;Decrement EE address pointer
brcc eew_lp ;Loop until all EE is erased

cbi eecr,eemwe ;Disable further EEPROM writes

pop zh ;Restore Z
pop zl ;

ret

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

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

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

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


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru