[mw_shl_code=c,true]#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"
#include "usmart.h"
#include "24cxx.h"
//ALIENTEK战舰STM32开发板实验22
//IIC 实验
//技术支持:www.openedv.com
//广州市星翼电子科技有限公司
//要写入到24c02的字符串数组
const u8 TEXT_Buffer[]={"WarShipSTM32 IIC TEST"};
#define SIZE sizeof(TEXT_Buffer)
int main(void)
{
u8 key;
u16 i=0;
u8 datatemp[SIZE];
delay_init(); //延时函数初始化
NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(9600); //串口初始化为9600
KEY_Init();
LED_Init(); //LED端口初始化
usmart_dev.init(72); //初始化USMART
AT24CXX_Init(); //IIC初始化
while(AT24CXX_Check())//检测不到24c02
{
printf("24C02 Check Failed!");
delay_ms(500);
printf("Please Check! ");
delay_ms(500);
LED0B=!LED0B;//DS0闪烁
}
printf("24C16 Ready!");
while(1)
{
key=KEY_Scan(0);
if(key==KEY_UP)//KEY_UP按下,写入24C02
{
printf("Start Write 24C16....");
AT24CXX_Write(0,(u8*)TEXT_Buffer,SIZE);
printf("24C16 Write Finished!");//提示传送完成
}
if(key==KEY_DOWN)//KEY_DOWN按下,读取字符串并显示
{
printf("Start Read 24C16.... ");
AT24CXX_Read(0,datatemp,SIZE);
for(j=0;j<SIZE;j++)
printf("The Data Readed Is: %c",datatemp[j]);//提示传送完成
}
i++;
delay_ms(10);
if(i==20)
{
LED1B=!LED1B;//提示系统正在运行
i=0;
}
}
}
然后LED0B一直闪烁,一直在那个while循环里,求大神帮忙,非常感谢
[/mw_shl_code]
|