完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
协议是NEC红外遥控协议,用户码是00 FF,这里我取了第三个数据码,第四个是反码就不管了图片是遥控器对应的数据码
想要通过遥控器来控制数码管实现加减算法 但是输入的数总是出错 |
|
相关推荐
2个回答
|
|
本帖最后由 MOP 于 2016-10-24 16:59 编辑
這一樣是C語言的基本觀念,看您的ass()就知道問題了 void aas() //add and subtruct { uchar num,flag; if(IRcord[2]==0x45) { num=0; numer=0; numer1=0; n=0; } if(n==1) { numer=numer; num=numer; } if(n==2) { num=num*10; numer=numer+num; num=numer; } if(n==3) { num=num*10; numer=num+numer; } if(n>3) { n=3; numer=numer; }但每次call ass()函式的時候,num變數總是被重新初始化,這是因為他是單純local variable,所以您的值加總會永遠是錯的,同理flag變數也是 Sol: static uchar num,flag;宣告成static時,每次call ass()都不會再將num和flag初始化,會保留在memory中,即static local variable,當您主程式main()離開了才會釋放該memory 希望有幫助到您:) |
|
|
|
MOP 发表于 2016-10-24 16:54 嗯...確實如您所說,我又改了改,可是這程序有很大問題不能計算十位以上的算法,我這種算法不行,您有一些關於這些加減法的例子可以分享一下嗎?:) |
|
|
|
只有小组成员才能发言,加入小组>>
722 浏览 0 评论
1123 浏览 1 评论
2502 浏览 5 评论
2840 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2683 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
664浏览 9评论
679浏览 7评论
682浏览 5评论
665浏览 5评论
imx6dl芯片与imx6q芯片互换启动无反应请问是什么问题呢
280浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 08:09 , Processed in 1.086394 second(s), Total 81, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号