block1.c
来自「一个用SST89X516/564RD单片机实现程序和数据存储互补利用例子(即程序」· C语言 代码 · 共 23 行
C
23 行
#include <SST89X5XXRD2.H>
/***********************************************************************************************************
* 字节编程函数---Flash_Block0_byte_program() //对MCU内部FLASH的BLOCK0区域单字节编程函数
* 输入参数: dataAddr---编程的字节地址
* 输入参数: dataByte---编程的数据
***********************************************************************************************************/
extern void Flash_Block0_byte_program(unsigned short int dataAddr, unsigned char dataByte)
{
unsigned short int destAddr = dataAddr;
SFCF = SFCF | 0x40; // SFCF.6=1: IAP功能使能,
SFCF = SFCF & ~0x01; // SFCF.0=0: 选择Block0
SFAH = destAddr>>8; // 将扇区地址的高8位装入FLASH的高8位地址寄存器(SFAH)中
SFAL = destAddr; // 将扇区地址的低8位装入FLASH的低8位地址寄存器(SFAL)中
SFDT = dataByte; // 在FLASH的数据寄存器(SFDT)中填入编程的数据--dataByte
SFCM = 0x0e; // 在FLASH的命令寄存器(SFCM)中填入字节编程命令--SFCM_PB=0X0E
while (SFST&0x04); //SFST.2=0:IAP操作完成
SFCF = SFCF & ~0x40; // SFCF.6=0: IAP功能禁止
SFDT = 0; //清除原来的FLASH数据寄存器,
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?