= 52; //код команды "стереть сектор"
= 5; //начальный номер сектора Flash
= 5; //конечный номер сектора Flash
= 58982; //cclk в кГц command,result); //вызов функции IAP
= 50; //код команды "подготовить сектор к операции записи"
= 5; //начальный номер сектора Flash
= 5; //конечный номер сектора Flash command,result); //вызов функции IAP
= 51; //скопировать 512 байт из RAM с адреса 0x40000200
= ОхООООАООО; = 0x40000200; = 512; = 58982; command,result),
if
_enable_interrupt();
lcd_clear(); read_flash(); }
(flagn_kn2==l)
//bo Flash с адреса ОхООООАООО
//
//
//cclk в кГц //вызов функции IAP //разрешение прерываний //очистка экрана ЖКИ
//чтение и индикация содержимого FLASH //нажималась ли кнопка 2
flagn_kn2=0;
_disable_interrupt();
command[0] = 50; command[1] = 5; command[2] = 5; i ap_ent ry(command, command[0] = 52; command[1] = 5; command[2] = 5; command[3] = 58982 iap_entry(command
_enable_interru.pt
lcd_clear(); read_flash(); }
if (flagn_kn3==l) {
flagn_kn3=0;
lcd_clear(); delay(lOOOOOO); read_flash(); }
} }
//----------------------
//да, сбросить флаг нажатия //запрет прерываний //код команды "подготовить сектор к операции записи" //начальный номер сектора Flash //конечный номер сектора Flash result); //вызов функции IAP //код команды "стереть сектор" //начальный номер сектора Flash //конечный номер сектора Flash //cclk в кГц result); //вызов функции IAP (); //разрешение прерываний
//очистка экрана ЖКИ
//чтение и индикация содержимого FLASH
//нажималась ли кнопка 3
//да, сбросить флаг нажатия //очистка экрана ЖКИ //задержка
//чтение и индикация содержимого FLASH
Программа работает следующим образом. При нажатии на кнопку «0», производится запись во Flash-память символьной строки «ABCDEFGHIJKL». При нажатии на кнопку «1» — запись во Flash-память символьной строки «abcdefghijkl». При нажатии на кнопку «2» — стирание сектора Flash-памяти, в который производилась запись символьных строк. При нажатии на кнопку «3» — чтение области Flash-памяти и вывод на ЖКИ прочитанного содержимого области, в виде символьной строки. Стертые ячейки (байты) Flash-памяти имеют значение OFFh и индицируются на ЖКИ, как полностью закрашенные знакоместа (см. Приложение 6). Перед вызовом команды записи или стирания Flash-памяти, в программе всегда вызывается команда подготовки сектора Flash-памяти к операции записи.
Все вышеперечисленные операции производятся в программе над сектором №5 Flash-памяти микроконтроллера LPC2129, а копируется в этот сектор блок данных размером 512 байт из SRAM.
Список рекомендуемой литературы к Части 2
1. ARM® IAR Embedded Workbench™ IDE. User Guide for Advanced RISC Machines Ltd's ARM Cores. © Copyright 1999-2005 IAR Systems.
| НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |