单片机学习小组
直播中

颜小玲

7年用户 162经验值
私信 关注

请问while的判断变量能否在flag为1时跳出空循环?

while(flag);判断语句里的位变量大概每二十微秒时间就会变化,那能否在flag为1时跳出空循环呢

回帖(4)

夏涌革

2019-11-11 09:22:30
如果实在太快,就可以考虑辅助芯片了,比如用串转并芯片(比如74HC595)或者计数器芯片(74LS192)以及基于他们的外围电路来缓存外部过快的脉冲变化,然后交给MCU的多个引脚来分担单个引脚的速度压力。如果是内部信号的话,尝试事件中断之类的方法吧
举报

周静

2019-11-11 09:34:16
其实这只是个起判断作用的引脚电平:当电平为低,意味着编码器转换完成,跳出空循环,进行下一步操作;电平为高,说明编码器正在转换,就继续空循环等待。
用if来做判断就可以,只不过有正好错过低电平的时候,所以想用while来代替,可是又老是空循环不退出。
举报

杨超

2019-11-11 09:53:46
引脚上加一个 100P左右的电容
举报

阿信509

2019-11-11 11:20:26
二十微妙很长时间了,肯定有时间跳出来
举报

更多回帖

发帖
×
20
完善资料,
赚取积分