完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
for(i=0;i<4;i++) //分别读取4个字节
{for(j=1;j<=8;j++) //每个字节8个bit的判断 { while(IRsignal==0); //等待上升沿 Delay0_9ms(); //从上升沿那一时刻开始延时0.9ms,再判断IRsignal if(IRsignal==1) //如果IRsignal是"1",则向右移入一位"1" { Delay1ms(); CodeTemp=CodeTemp|0x80; if(j<8) CodeTemp=CodeTemp>>1; } else if(j<8)CodeTemp=CodeTemp>>1;//如果IRsignal是"0",则向右移一位,自动补"0" } IRcode[i]=CodeTemp; CodeTemp=0; 这是红外遥控的读取字节的程序代码,程序没错,其中IRsigal是接到单片机的外部中断0口,对于这个程序,我有些不理解,单片机是如何读取遥控的发射数据的啊?我知道,我们是在检测每个字节中0、1的个数,因此检测每一位,比方说我们检测第一个字节的数据为10111111,j=1时,检测到的是1,但是到 j=2时我们还能保证检测到的是0吗,也就是说,在for循环中,难道我们就能根据i、j的改变来正确读取遥控发射的信号吗?遥控的发射信号跟for循环的是同步的? 我不知道我的疑问大家能懂不,新手,求各位解释下,谢谢 |
|
相关推荐
6个回答
|
|
没大神解释啊!看了半天还是没弄明白,这是红外解码程序的部分,这个解码的位传送一直没懂
|
|
|
|
我也在学习红外控制,一起加油,有什么问题可以一起分享解决
|
|
|
|
|
|
|
|
自己刷自己的帖子,竟然无人回答...
|
|
|
|
能贴全部的代码吗,这都没有判断逻辑“1”和“0”的代码,也不知道IRsignal是什么
|
|
|
|
我也在学红外遥控 我也不太懂这个是什么意思。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
322 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-通用文件I/O模型之close
339 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第十五章 按键中断实验
327 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第十一章 FPIOA管理器实验
823 浏览 0 评论
730 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11453 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-13 10:46 , Processed in 0.716538 second(s), Total 81, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号