Библиотека Компэла


Ь //- Использование внутренних функций, периферийных блоков...

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 ; определение конечно-

;го адреса и размера