⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 该包为一部分zlg MiniARM2200的基础测试代码。包括GPIOUARTI2cSPI定时器看门狗
💻 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 + -