int main(void) { u8 key; u16 i=0; u8 datatemp[SIZE]; SystemInit(); delay_init(72); //延时初始化 NVIC_Configuration(); uart_init(9600); LED_Init(); KEY_Init(); LCD_Init(); AT24CXX_Init(); //IIC初始化 POINT_COLOR=RED;//设置字体为蓝色 LCD_ShowString(60,50,"Mini STM32"); LCD_ShowString(60,70,"IIC TEST"); LCD_ShowString(60,90,"ATOM@ALIENTEK"); LCD_ShowString(60,110,"2011/1/1"); while(AT24CXX_Check())//检测不到24c02 { LCD_ShowString(60,130,"24C02 Check Failed!"); delay_ms(500); LCD_ShowString(60,130,"Please Check! "); delay_ms(500); LED0=!LED0;//DS0闪烁 } LCD_ShowString(60,130,"24C02 Ready!"); //显示提示信息 LCD_ShowString(60,150,"KEY0:Write KEY2(WK_UP):Read"); POINT_COLOR=BLUE;//设置字体为蓝色 while(1) { key=KEY_Scan(); if(key==1)//KEY0按下,写入24C02 { LCD_Fill(0,170,239,319,WHITE);//清除半屏 LCD_ShowString(60,170,"Start Write 24C02...."); AT24CXX_Write(0,(u8*)TEXT_Buffer,SIZE); LCD_ShowString(60,170,"24C02 Write Finished!");//提示传送完成 } if(key==3)//KEY_UP按下,读取字符串并显示 { LCD_ShowString(60,170,"Start Read 24C02.... "); AT24CXX_Read(0,datatemp,SIZE); LCD_ShowString(60,170,"The Data Readed Is: ");//提示传送完成 LCD_ShowString(60,190,datatemp);//显示读到的字符串 } i++; delay_ms(10); if(i==20) { LED0=!LED0;//提示系统正在运行 i=0; } } }
//闹钟数据保存在:SYSTEM_PARA_SAVE_BASE+sizeof(_system_setings)+sizeof(_vs10xx_obj) //读取日历闹钟信息 //alarm:闹钟信息 void calendar_read_para(_alarm_obj * alarm) { AT24CXX_Read(SYSTEM_PARA_SAVE_BASE+sizeof(_system_setings),(u8*)alarm,sizeof(_alarm_obj)); }