main.c
来自「LPC1114_例程和教程」· C语言 代码 · 共 136 行
C
136 行
/****************************************Copyright (c)****************************************************
** Guangzhou ZLGMCU Development Co., LTD
**
** http://www.zlgmcu.com
**
**--------------File Info---------------------------------------------------------------------------------
** File name: main.c
** Last modified Date: 2010-02-04
** Last Version: V1.0
** Descriptions: The main() function example template
**
**--------------------------------------------------------------------------------------------------------
** Created by: Li Baihua
** Created date: 2010-09-10
** Version: V1.00
** Descriptions: 整理模板,添加用户应用程序
**
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
** Rechecked by:
*********************************************************************************************************/
#include "LPC11xx.h" /* LPC11xx外设寄存器 */
#include "..\MX25L1602Drv\MX25L1602Drv.h"
/*********************************************************************************************************
变量与宏定义
*********************************************************************************************************/
#define BEEP (1 << 7 ) /* 蜂鸣器P0.11 */
#define BEEPOFF() LPC_GPIO2->DIR |= BEEP;LPC_GPIO2->DATA |= BEEP /* 蜂鸣器关 */
#define BEEPON() LPC_GPIO2->DIR |= BEEP;LPC_GPIO2->DATA &= ~BEEP /* 蜂鸣器开 */
/*
* 读操作函数入口参数的宏
*/
#define RDADDR 4090
#define NOBYTES 20
#define RCVBUFPT GucRdBuf
/*
* 写操作函数入口参数的宏
*/
#define WRADDR 4090
#define SNDBUFPT GucWrBuf
#define WRNOBYTES 20
INT32U GulChipID = 0;
INT8U GucWrBuf[20] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19};
INT8U GucRdBuf[20];
/*********************************************************************************************************
** Function name: sysTimeDelay
** Descriptions: ulNum: 为n,BEEP就鸣叫n次
** input parameters: ulNum: 鸣叫次数
** output parameters: 无
** Returned value: 无
*********************************************************************************************************/
void sysTimeDelay (INT32U ulTime)
{
INT32U i = 0;
while(ulTime--) {
for(i=0; i < 5000; i++);
}
}
/*********************************************************************************************************
** Function name: beepNum
** Descriptions: ulNum: 为n,BEEP就鸣叫n次
** input parameters: ulNum: 鸣叫次数
** output parameters: 无
** Returned value: 无
*********************************************************************************************************/
void beepNum (INT32U ulNum)
{
INT32U i;
for (i = 0; i < ulNum; i++) {
BEEPON();
sysTimeDelay(100);
BEEPOFF();
sysTimeDelay(100);
}
}
/*********************************************************************************************************
** Function name: main
** Descriptions: SSP读写NorFlash例程。
** 跳线连接:分别将P0.2与SSEL、P0.6与SCK、P0.8与MISO、P0.9与MOSI短接;
** 操作方法:下载并运行程序;
** 现 象: 选择单步运行到102行,在TKStudio里查看GuiChipID为0x00c22015;然后全速运行,
** 若SPI读写NorFlash错误,则蜂鸣器响一声,否则不响。
** input parameters: 无
** output parameters: 无
** Returned value: 无
*********************************************************************************************************/
int main (void)
{
INT32U i = 0;
SystemInit();
SSP_Init();
MX25L1602_RdID(Jedec_ID, &GulChipID); /* 单步运行到此处时,在IAR里查看 */
/* GuiChipID的值是否0x00c22015 */
GulChipID &= ~0xff000000; /* 仅保留低24位数据 */
if (GulChipID != 0x00C22015) {
while(1);
}
MX25L1602_Erase(0, 511); /* 擦除芯片 */
MX25L1602_WR(WRADDR, SNDBUFPT, WRNOBYTES); /* 以0x2007为起始地址,将WrBuf */
/* 数组里的20个数据写入芯片 */
MX25L1602_RD(RDADDR, NOBYTES, RCVBUFPT); /* 以0x2007为起始地址,读20个 */
/* 数据到RdBuf中 */
for (i = 0;i < 19;i++) {
if (GucRdBuf[i] != GucWrBuf[i] ) { /* 若SPI读写不正确则程序就一直 */
/* 鸣叫,否则SPI读写正确 */
BEEPON();
while (1);
}
}
beepNum(3);
while (1);
}
/*********************************************************************************************************
End Of File
*********************************************************************************************************/
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?