📄 test.c
字号:
/******************************************************************
* 文件名:TEST.C
* 功能:测试IAP_Lite功能
* 日期:2003.11.10
******************************************************************/
#include "REG931.H"
#include "IAP_LITE.H"
/* 使用内部7.3768MHz晶振,9600波特率 */
#define BRGR1_DAT 0x02
#define BRGR0_DAT 0xF0
sbit KEYIN = P2^7; // 按键定义
/******************************************************************
* 名称:UART_Ini
* 功能:初始化串口,波特率为9600,8位数据位,1位停止位,无奇偶校验。
* 入口参数:无
* 出口参数:无
******************************************************************/
void UART_Ini(void)
{ P1M1 = 0x00; // 设置P1口为准双向口
P1M2 = 0x00;
SCON = 0x50; // 设置串口工作模式
BRGCON = 0x00; // 关波特率发生器
BRGR1 = BRGR1_DAT; // 设置波特率值
BRGR0 = BRGR0_DAT;
BRGCON = 0x03; // 起动波特率发生器
}
/******************************************************************
* 名称:UART_SendByte
* 功能:向串口发送字节数据。
* 入口参数:dat 待发送的数据
* 出口参数:无
******************************************************************/
void UART_SendByte(uint8 dat)
{ SBUF = dat; // 发送数据
while(0==TI); // 等待发送完毕
TI = 0; // 清除发送标志
}
/******************************************************************
* 名称:UART_SendCode
* 功能:读取FLASH中的数据,并发送到串口。
* 入口参数:addr 读取的起始地址
* no 读取的数据个数
* 出口参数:无
******************************************************************/
void UART_SendCode(uint16 addr, uint16 no)
{ uint8 code *readp;
readp = addr;
for(; no>0; no--)
{ UART_SendByte(*readp++); // 读取数据并发送
}
}
/******************************************************************
* 名称:主程序
* 功能:调用IAP_LITE.C中的子程序,进行测试。
******************************************************************/
void main(void)
{ uint8 idata write_dat[90];
uint8 i;
P2M1 = 0x00;
P2M2 = 0x00;
UART_Ini();
/* 字节擦除编程 */
FLASH_WriteByte(0x1000, 0x33);
FLASH_WriteByte(0x1010, 0x44);
FLASH_WriteByte(0x1020, 0x55);
UART_SendCode(0x1000, 60);
/* 写多字节 */
for(i=0; i<90; i++) write_dat[i] = i;
FLASH_WriteNByte(0x1000, write_dat, 90);
UART_SendCode(0x1000, 120);
/* 擦除扇区/页 */
FLASH_EraseSector(0x1020);
//FLASH_ErasePage(0x1020);
UART_SendCode(0x1000, 120);
/* 页填充 */
if(1==KEYIN)
{ FLASH_FillPage(0x1010, 0x88);
UART_SendCode(0x1000, 120);
}
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -