完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
#include
void main () { unsigned int n; unsigned char LED; LED = 0x00; while (1) { P2 = LED; if(P2 == 0Xff) { LED=0X00 ; } for (n=0;n<20000;n++) ; LED = LED << 1; LED =LED+1; } } 这是我写的关于流水灯的程序 为什么 重新赋值LED,LED=0x00的时候会直接跳过到LED=0x01?不显示灯全灭呢? 各位大神帮忙看看 谢谢了!!! |
|
相关推荐
3个回答
|
|
|
if(P2 == 0Xff) { LED=0X00 ; } LED = LED << 1; LED =LED+1; 当P2=0xff的时候,循环之后LED值为0x01,而循环当中0x00并未赋值给P2; 可以把P2 = LED;放到for循环下边。这样应该就可以了 |
|
|
|
|
|
把延时放到P2=LED;后面
|
|
|
|
|
|
谢谢帮助 你的方法是成功的我后面改换 IF 句型的位置 到LED =LED+1;后 也可以正常运行了,但是还是稍微不明白 IF 在前在后的区别。 |
|
|
1 条评论
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
265 浏览 0 评论
【原创】【RA4M2-SENSOR开发板评测】低功耗+USB综合测试
789 浏览 0 评论
1306 浏览 2 评论
787 浏览 0 评论
【RA4M2-SENSOR开发板评测】Analogue+Timers综合测试
1587 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16902 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 12:26 , Processed in 0.740062 second(s), Total 92, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3399