|
CLI ;Запретить прерывания
LDI XH,$01 ;Указатель данных в ОЗУ
CLR XL
B_33: MOVW ZL,YL ;Адрес страницы AVR
CLT
LDI COUNTC,$40 ;Страница = 128 байт
B_34: LD R0,X+ ;Данные для записи в AVR
LD R1,X+
LDI TEMP,$01
OUT SPMCR,TEMP
SPM ;Запись слова в TempPageBuffer
DEC COUNTC
BRNE B_34
MOVW YL,ZL ;Адрес новой страницы
SUBI ZL,$80
SBCI ZH,$00 ;Zx = началу текущей страницы
LDI TEMP,$03 ;Erase current Page
RCALL B_SPM
LDI TEMP,$05 ;Запись TempPageBuffer to FLASH
RCALL B_SPM
B_38: LDI TEMP,$11 ;RWW Section Read Enable
RCALL B_SPM
...............
SBRS XH,1
RJMP B_33 ;Вторая страница
...............
B_SPM: OUT SPMCR,TEMP
SPM
LD50: IN TEMP,SPMCR ;Контроль окончания записи
SBRC TEMP,SPMEN
RJMP LD50
RET
...............
E-mail: info@telesys.ru