完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
if(key2 == 0)
{ while(1) { while(!key2) delay(20); while(!key2);{you = 0;delay(400);you = 1;delay(300);} } } 这是我写的,开了就关不掉。 |
|
相关推荐
26个回答
|
|
|
嵌套不对 记住 C语言只有一个main,main里面就一个while
int main (void) { unsigned char i; unsigned char flag_key; while(1) { if(key1 == 0) { delay(10); //消除抖动 if(key1 == 0) { i++; if(i>2) { i = 0; flag_key = 0; } else { flag_key = 1; } } else { } } if(flag==1) { LED = 0; //0灯亮 delay(50); LED = 1; //1灯灭 delay(50); } else { LED = 1; //1灯灭 } } }
最佳答案
评分
|
||
|
|
||
|
这个 if(flag==1)是什么? |
|
|
|
|
|
这个i是做什么用的??另外,对于LED闪烁,改成:开头定义LED=0,然后闪烁那里写成 LED=!LED;delay(500); 可以不? 评分
|
||
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i是用于计数的,二楼的程序有点小错误,他的逻辑应该是当i为奇数和偶数时flag_key进行状态转换,然后根据flag_key的状态改变LED灯的亮灭,你的思路是可以得,但不是LED =! LED; 语法不对,应该是 LED = ~LED; |
|
|
|
|
|
|
|
|
|
|
|
你提醒了我 取反也是可以的 |
|
|
|
|
|
|
|
|
|
|
dong2213dong 发表于 2017-2-16 08:08 恩 就是这个意思 其实最好用定时器做 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dong2213dong 发表于 2017-2-16 08:08 晓得了。谢谢
|
|
|
|
|
|
这个当然关不掉了,检测到key2==0以后 就直接进入了while(1) 死循环了
|
|
|
|
|
|
试过了,还是不行,有大神指教下吗?
|
|
|
|
|
|
我觉得用LabVIEW也很好实现
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
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 11:05 , Processed in 1.297691 second(s), Total 117, Slave 99 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4098