研究生
最后登录1970-1-1
在线时间 小时
注册时间2014-4-29
|
int main(void)
{
LED_Config(); /*LED初始化*/
USART1_Config(); /* USART1 配置模式为 9600 8-N-1,中断接收 */
I2C_EE_Config(); /* I2C 外设初(AT24C02)始化 */
while(1)
{
if(RecCard_Ok_Flag == 1 ) /*如果串口接收到IC卡的数据*/
{
printf("IC卡已插入,卡号为: ");
for(Count=0;Count<5;Count ++)
{
printf("%d" , RecCardData_Buf[Count]);
}
printf("\r\n");
Count = 0;
RecCard_Ok_Flag = 0;
printf("将读取的卡号存储到EE中去:\r\n");
I2C_EE_BufferWrite(RecCardData_Buf, BASE_ADDR, sizeof(RecCardData_Buf));
printf("数据存储成功!\r\n");
printf("\r\n");
printf("读出EE中的卡号\r\n");
I2C_EE_BufferRead(I2C_ReadFromEE_Buff, BASE_ADDR, sizeof(RecCardData_Buf));
for(Count = 0 ; Count < sizeof(RecCardData_Buf); Count ++)
{
if(RecCardData_Buf[Count] != I2C_ReadFromEE_Buff[Count])
{
printf("数据读取错误!\r\n");
return 0;
}
}
printf("%d" , I2C_ReadFromEE_Buff[Count]);
printf("读出卡号成功!\r\n");
memset(I2C_ReadFromEE_Buff , 0 , sizeof(RecCardData_Buf));
//memset(I2C_ReadFromEE_Buff , 0 , sizeof(RecCardData_Buf));
}
}
}
我通过UART1 读取IC卡的卡号 。并通过I2C 存储到AT24C02中,进行第一次while()是可以正常存储并读出 。但是当我再一次刷IC卡 IC卡的卡号是可以的读出的。但是并不能存储到AT24C02中去的。通过串口调试工具的现象如下:
IC卡已插入,卡号为: 10529104157129
将读取的卡号存储到EE中去:
数据存储成功!
读出EE中的卡号
0读出卡号成功!
IC卡已插入,卡号为: 10529104157129
将读取的卡号存储到EE中去:
IC卡已插入,卡号为: 10529104157129
将读取的卡号存储到EE中去:
数据存储成功!
读出EE中的卡号
0读出卡号成功!
IC卡已插入,卡号为: 10529104157129
将读取的卡号存储到EE中去:
|
|