![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Ькзпшмичта //- Использование внутренних функций, периферийных блоков...
Определение функции: void Flash wb(char *Data ptr,
char byte)
рабочий регистр: R12 = char *Data_ptr R14 = символьный байт R13,R15 = общего назначения
; WRT = 1 ; вызов из ОЗУ функции; записи Flash памяти; WRT = О; LOCK = 1 #2*Flash_wb_length,SP; Обслуживание стека |
Flash_wb
dint
mov mov
mov
copy push deed dec jnz mov mov call
mov mov add ret
; предотвращение искажения
; стека #Flash wb end,R13; определение
; конечного адреса и длины #Flash_wb_length,R15; функции,
; копируемой в ОЗУ #0A500h,&FCTL3; LOCK = О @R13; копирование функции в ОЗУ R13 R15 copy SP,R15
#0A500h,&FCTL1 #0A510h,&FCTL3 |
#0A540h,&FCTL1 R15
Функция записи во Flash память
Flash_wb_start
mov.b R14,0(R12)
waitbf |
bit #1,&FCTL3
jnz |
waitbf
запись байта данных во Flash память ожидание флага индикации «свободно- го» состояния
Flash wb end
ret
вычисление номера слова, которое будет записано во Flash память
Дата публикования: 2014-11-18; Прочитано: 286 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!