• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

if状态判断进入不了,为什么

chunyang 2019-09-17 浏览量:746
代码如图,state==out时开启 MOS管,达到一定时间后关闭MOS管进入delay状态,再到一定时间重新打开MOS管。
但是实际运行结果是打开MOS管后不会再关闭,为什么不会进入if((tickGet() - tick_delay) >= dutycycle *sysClkRateGet() / 100)中?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 这个你最好追踪一下程序的工作流程,很怀疑你这段程序只是一次执行,而没有放置在某个大的循环中,因为没有循环,只是一次性的判断,很可能判断时不符合条件。

    你还是需要认真清理流程。

    • 发布于 2019-09-17
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:2
  • 你有在循环中调用吗,没有就只执行一次了,不会执行第二次


    • 发布于2019-09-17
    • 举报
    • 评论 0
    • 1
    • 0

  • 不要只关注这点,把前面也看一下,可以把相关参数加打印显示出来,应该就是你写的不对,mos管硬件出问题的概率很小
    • 发布于2019-09-17
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

if状态判断进入不了,为什么