Ь //- Использование внутренних функций, периферийных блоков...
add #2*Flash ww length,SP ; Обслуживание
; стека ret
;----------------- Функция записи во Flash память ---------------------
Flash_ww_start
mov R14,0(R12) ; запись байта данных
; во Flash память wait bf bit #1,&FCTL3 ; ожидание установки бита
; «свободного» состояния jnz wait bf Flash ww end ret
; вычисление номера слова, ; которое будет записано ; во Flash память
Flash_ww_length EQU (Flash_ww_end-Flash_ww_start+2)/2 ENDMOD
MODULE Flash_clr
PUBLIC Flash_clr
RSEG CODE
#define _CPU_ 5 /* определение типа микроконтроллера: 5=MSP430F1121, 6=MSP430F149 */
#include <Std def.s43>
Очистка сегмента Flash памяти
k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-i
Очистка 1 сегмента Flash памяти путем копирования небольшой (х байт) функции в ОЗУ динамической памяти, расположенной в стеке.
определение функци: void Flash_clr( int *Data_ptr ) рабочий регистр: R12 = int *Data_ptr
R13,R15 = общего назначения
•k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k
Flash_clr
dint ; предотвращение
; повреждение стека
mov #Flash ww end,R13 ; определение конечно-
;го адреса и размера