完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
下边这行代码是在网上流传的一段IC卡通讯的代码,暂时没搞明白while(!RI)这个意义何在?难道可以在中断程序中执行查询法?
void isr_UART(void) interrupt 4 using 1 { unsigned char len, i; unsigned int j=0; if(RI) { RI=0; len=SBUF; //len猜测是指上位机下发的第一个字节数 指示一共有len个字节数据 for(i=0;i { while(!RI) //这里一直在循环,有什么特别的意义吗?难道还是在循环内执行查询? { j++; if(j>500) //if(j>1000) 晶振低了一倍,所以把数值也减了一半 { break; } } if(j<500) //if(j<1000) { RevBuffer=SBUF; RI=0; j=0; } else { break; } } if(i==len) { REN=0; CmdValid=1; } } else if(!RI && ti) { TI=0; len=RevBuffer[0]; for(i=0;i { SBUF=RevBuffer; while(!TI); TI=0; } REN=1; } } |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
飞凌嵌入式ElfBoard EL 1板卡-i2c与从设备通讯编程示例之i2c-tools工具使用
976 浏览 0 评论
stc15f2k60s2利用串口传输字模存储到eeprom并进行点阵显示
1093 浏览 1 评论
1356 浏览 0 评论
607 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-串口通讯编程示例之串口编写程序
1236 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11599 浏览 31 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-3 16:06 , Processed in 0.354638 second(s), Total 39, Slave 32 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号