📄 main.c
字号:
/****************************************Copyright (c)**************************************************
** Guangzou ZLG-MCU Development Co., LTD.
** graduate school
** http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name: main.c
** Last modified Date: 2004-09-16
** Last Version: 1.0
** Descriptions: The main() function example template
**
**------------------------------------------------------------------------------------------------------
** Created by: Chenmingji
** Created date: 2004-09-16
** Version: 1.0
** Descriptions: The original version
**
**------------------------------------------------------------------------------------------------------
** Modified by: Litiantian
** Modified date: 2006-01-04
** Version:
** Descriptions: 使用LPC2300系列ARM的SPI, 操作SST25VF016B, 演示串行NOR Flash操作。
**------------------------------------------------------------------------------------------------------
** Modified by: wuzhijian
** Modified date: 2007-09-03
** Version:
** Descriptions: 对程序的风格以及注释略作调整,并检查代码。
**
** Rechecked by: Litiantian
********************************************************************************************************/
#include "config.h"
/* 宏, 用于描述API的入口参数 */
/* 读操作函数入口参数的宏 */
#define RDADDR 0x2007
#define NO_BYTES 20
#define RCVBUFPT RdBuf
/* 写操作函数入口参数的宏 */
#define WRADDR 0x2007
#define SNDBUFPT WrBuf
#define WRNO_BYTES 20
uint32 ChipID = 0;
uint8 WrBuf[20] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19};
uint8 RdBuf[20];
/********************************************************************************************************
** 函数名称:main
** 函数功能:调用软件包, 演示SST25VF016b的常规功能
** 调试说明:1、需在内部Flash调试;
** 2、用户需打开AXD里的变量观察窗口观察变量的变化情况。
********************************************************************************************************/
int main(void)
{
uint32 i = 0;
sstf016bInit();
sstf016bRdID(Jedec_ID, &ChipID); // 单步运行到此处时, 在AXD里查看ChipID的值是否0xBF2541
ChipID &= ~0xff000000; // 仅保留低24位数据
sstf016bErase(0, 511); // 擦除芯片
sstf016bWr(WRADDR, SNDBUFPT, WRNO_BYTES); // 以0x2007为起始地址,将WrBuf数组里的20个数据写入芯片
sstf016bRd(RDADDR, NO_BYTES, RCVBUFPT); // 以0x2007为起始地址,读20个数据到RdBuf中
for (i = 0;i < 19;i++)
{
if (RdBuf[i] != WrBuf[i] )
while (1);
}
sstf016bErase(2, 2); // 擦除扇区2
sstf016bRd(RDADDR, NO_BYTES, RCVBUFPT); // 在此处设置断点,于AXD里观察RdBuf数组的值是否变为0xFF
while (1);
return (0);
}
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -