完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 ys707663989 于 2015-8-26 23:18 编辑 按道理说,我在程序后面使卡进入休眠状态了,但是为什么会被重复读取呢?
我的程序如下:
int main(void) { unsigned char status; //u8 Data[16]; //u8 i; //u8 k;//读写错误重试次数 u8 m; delay_init(); //延时函数初始化 NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 OUTPUT_Init(); //输出模块初始化 uart_init(9600); LCD_Init(); KEY_Init(); InitRc522(); //初始化射频卡模块 //sprintf((char*)lcd_id,"LCD ID:%04X",lcddev.id);//将LCD ID打印到lcd_id数组。 LEDA=1; while(1) { status = PcdRequest(PICC_REQALL,CT);/*尋卡*/ if(status==MI_OK)//尋卡成功 { printf("PcdRequest_MI_OKtn"); status=MI_ERR; status = PcdAnticoll(SN);/*防冲撞*/ } if (status==MI_OK)//防衝撞成功 { printf("PcdAnticoll_MI_OKtn"); status=MI_ERR; LEDA=1; LEDB=1; // ShowID(0,200,SN,BLUE,WHITE); //在液晶屏上显示卡的ID号 printf("ID:%02x %02x %02x %02xtn",SN[0],SN[1],SN[2],SN[3]);//发送卡号 if((SN[0]==card_1[0])&&(SN[1]==card_1[1])&&(SN[2]==card_1[2])&&(SN[3]==card_1[3])) { printf("The User is:小明tn"); } if((SN[0]==card_2[0])&&(SN[1]==card_2[1])&&(SN[2]==card_2[2])&&(SN[3]==card_2[3])) { printf("The User is:小华tn"); } if((SN[0]==card_3[0])&&(SN[1]==card_3[1])&&(SN[2]==card_3[2])&&(SN[3]==card_3[3])) { printf("The User is:小李tn"); } if((SN[0]==card_4[0])&&(SN[1]==card_4[1])&&(SN[2]==card_4[2])&&(SN[3]==card_4[3])) { printf("The User is:小王tn"); } // total=card1_bit+card2_bit+card3_bit+card4_bit+lxl_bit; // LCD_ShowString(0,16,200,16,16,"total:"); // LCD_ShowNum(46,16,total,2,16); status =PcdSelect(SN); if(status==MI_OK) { printf("PcdSelect_MI_OK"); status = PcdHalt(); } if(status==MI_OK) { printf("PcdHalt_MI_OK"); } } |
|
相关推荐
6个回答
|
|
程序在while(1)里面,,程序执行一遍之后循环到开头开始执行,而且没看到你程序里面进行清缓冲区的操作
|
|
|
|
我后面有一句使卡进入休眠状态的函数(红色标记部分),按道理说读取到一次卡后,下一次进入循环寻卡的时候是寻不到卡的啊,因为这时卡已经休眠了。 |
|
|
|
本帖最后由 lrl111111 于 2016-1-11 09:48 编辑
#define PICC_REQIDL 0x26 //寻天线区内未进入休眠状态 #define PICC_REQALL 0x52 //寻天线区内全部卡 |
|
|
|
楼主怎么解决的?
|
|
|
|
楼主,请问这问题解决了没?我也是这个问题,已经调试1周了还是不能解决。
|
|
|
|
寻卡的时候用4楼说的PICC_REQIDL模式就可以了,status = PcdRequest(PICC_REQIDL,CardType);/*扫描卡*/
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1240 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1175 浏览 3 评论
2256 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1342 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1764 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 02:40 , Processed in 1.026726 second(s), Total 84, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号