RC522小错误警诫自己 _francis 告诫自己的名言警句

很久没写文档了,倒不是因为懒,是因为太忙了,但今天晚上因为一个小问题阻滞了脚步,而且这个小问题完全是因为自己的不细心,所以很有必要写出来作为警戒。以后一定要注意!!

这是读卡模块RC522的时序图以及数据格式,如下图所示:



RC522小错误(警诫自己)_francis 告诫自己的名言警句

这是写的读数据的函数

void RC522_RD_data(uchar addr, uchar *p_data, uchar tick)
{
uchar i;
uchar j;
uchar result = 0;
addr <<= 1;
addr |=0x80; //RC522 地址字节格式(读操作)
CLR_RC522_CLK;
CLR_RC522_CS;
RC522_send_addr(addr);
for (j=0; j<tick; j++){
if (j ==(tick-1)){
addr = 0;
}
for (i=0;i<8; i++){
result <<= 1;
if(RC522_DIN_SET){
result++;
}
if ((addr&0x80) == 0x80){
SET_RC522_DOUT;
}else{
CLR_RC522_DOUT;
}
_NOP();
_NOP(); //50ns minimum in clk low
addr<<=1;
SET_RC522_CLK;
_NOP();
_NOP();//50ns minimum
CLR_RC522_CLK;
_NOP();
_NOP();
}
*p_data++ =result;
}
SET_RC522_CS;
}

这里的地址addr执行两次之后就已经变成0了,所以再次读取所在地址的数据的时候,读取的实际上是0x00单元的数据,所以、、、

这样的小问题确实不容易发现,所以在写程序的时候一定要注意避免。

  

爱华网本文地址 » http://www.aihuau.com/a/25101013/167159.html

更多阅读

护肤小知识:如何判断自己的肤质

人的皮肤大体上可以分为干性、中性、油性、混合型和敏感型。看看各种肤质有什么特点,小编教各位MM怎样判断自己的肤质,让你的美容护肤小知识越来越强大。护肤小知识:如何判断自己的肤质——步骤/方法护肤小知识:如何判断自己的肤质 1、

声明:《RC522小错误警诫自己 _francis 告诫自己的名言警句》为网友情收购站分享!如侵犯到您的合法权益请联系我们删除