📄 main.c
字号:
/****************************************************************************
* 文 件 名: main.c
* 功 能: 读写24C02,如果正确蜂鸣器仅叫一次,否则连续报警。
* 说 明: 将跳线器JP4全部短接,正确连接CAT24C02的I2C总线至J2口。
****************************************************************************/
#include "config.h"
#define BUZZER 1<<21
#define KEY1 1<<20
#define KEY2 1<<22
#define LED 1<<19
void DelayNS(uint32 dly);
/****************************************************************************
* 函数名称: main
* 功能描述: 主函数
****************************************************************************/
int main(void)
{ uint32 i;
uint8 data[4] = {0x00, 0xaa, 0x55, 0xff};
I2C_Init(100000);
I2C_IntInit();
IRQEnable();
IO0DIR = BUZZER | LED; // 设置GPIO方向
IO0CLR = BUZZER; // 初始化IO
IO0SET = LED;
I2C_WriteNByte(0xa0, ONE_BYTE_SUBA, 0x00, data, 4);
DelayNS(50);
I2C_ReadNByte (0xa0, ONE_BYTE_SUBA, 0x00, I2C_Buf, 4);
for(i=0; i<4; i++)
{
if(data[i] != I2C_Buf[i])
{
while(1)
{
IO0SET = BUZZER;
DelayNS(50);
IO0CLR = BUZZER;
DelayNS(50);
}
}
}
IO0SET = BUZZER;
DelayNS(50);
IO0CLR = BUZZER;
DelayNS(50);
while(1);
return(0);
}
/****************************************************************************
* 函数名称: DelayNS()
* 功能描述: 长软件延时
* 入口参数: dly 延时参数,值越大,延时越久
* 出口参数: 无
****************************************************************************/
void DelayNS(uint32 dly)
{ uint32 i;
for(; dly>0; dly--)
{
for(i=0; i<5000; i++);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -