完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
` 本帖最后由 张全武5 于 2015-4-24 11:28 编辑 void INT0_init() { IT0=1;//触发方式为脉冲负边沿触 EX0=1; EA=1; } void int0() interrupt 0 { uchar j,k,N=0; EX0 = 0; delay(15); if (IRIN==1) { EX0 =1; return; // ?????????????????????????退出到哪呢 } //确认IR信号出现 while (!IRIN) //等IR变为高电平,跳过9ms的前导低电平信号。 {delay(1);} for(j=0;j<4;j++) //收集四组数据 { for(k=0;k<8;k++) //每组数据有8位 { while(IRIN) //等 IR 变为低电平,跳过4.5ms的前导高电平信号。 {delay(1);} while(!IRIN) //等 IR 变为高电平 {delay(1);} while(IRIN) //计算IR高电平时长 { delay(1); N++; if(N>=30) { EX0=1; return;// ?????????????????????????退出到哪呢 } //0.14ms计数过长自动离开。 } //高电平计数完毕 IRCOM[j]=IRCOM[j] >> 1; //数据最高位补“0” if (N>=8) {IRCOM[j] = IRCOM[j] | 0x80;} //数据最高位补“1” N=0; }//end for k }//end for j if(IRCOM[2]!=~IRCOM[3]) { EX0=1; return; } switch(IRCOM[2]) { case 0x16: //此处为所选的红外遥控器操作码 distemp = 1; break; case 0x0c: distemp = 2; break; case 0x08: distemp = 3; break; case 0x42: distemp = 4; break; case 0x46: distemp = 5; break; } EX0 = 1; } 这样的红外线模块,,是不是只需要自己解码一下就行了,,不需要再编程发射程序了吧??红外接收头的型号不一样影响它的接收程序吗(自认为红外协议一样,程序也该一样的吧)?请各位赐教,也顺便看看程序可行吗 ` |
|
相关推荐
8个回答
|
|
图片如下。。。
|
|
|
|
不是退出吧,正常应该是返回某个数值,这个语句什么都没有返回,会不会没有起到作用?尝试注释到试试
|
|
|
|
单纯的一个return,是没有返回值的,它的作用就是提前结束本函数,有点类似continue
|
|
|
|
if(N>=30) { EX0=1; return;// ?????????????????????????退出到哪呢 } 像这个函数就算没有RETURN;它一样会跳出if()函数啊。。。。是不是执行了 RETURN;语句它会跳出中断程序呢,,也就是说跳出void int0() interrupt 0函数??? |
|
|
|
没有返回值的函数在最后加return和没有加的效果是一样的。在函数还没执行到最后提前加一个可以认为是提前退出本函数,函数中return后面的就执行不到了。好处在于,比方你有3个if判断语句,按顺序如果第一个为真,后两个就不需要判断了,你在第一个if里面来个return直接就结束该函数了,省去了很多判断所需要耗费的时间。你上面提的那个中断中if不就是为真嘛,直接return,跳出中断。主程序上从哪里发生的中断就回到哪里去了呀~ 个人见解,不对的指正,共勉!
|
|
|
|
赞成。。。谢谢了!大神 |
|
|
|
赞成。。。谢谢了!大神 |
|
|
|
赞成。。。谢谢了!大神 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
902 浏览 0 评论
588 浏览 0 评论
嵌入式学习-搭建自己的ubuntu系统之ubuntu网络设置
718 浏览 0 评论
龙芯中科胡伟武:3B6600 八核桌面 CPU 性能将达到英特尔中高端酷睿 12~13 代水平
780 浏览 0 评论
树莓派Pico 2发布,搭载RP2350双核RISC-V和Arm Cortex-M33微控制器!
740 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10740 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-18 19:04 , Processed in 0.677248 second(s), Total 83, Slave 66 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号