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

但是让我不明白的是,while中明明设置了大于800的时候点

六哥六哥 2017-03-09 浏览量:698
但是让我不明白的是,while中明明设置了大于800的时候点击才会转,为什么小于800的时候依然会转呢?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 您在Setup()裡面要先預設I/O電位比較OK喔

    因此


    digitalWrite(pin,LOW);

    然後記得運行loop()時,如果有條件判斷改變輸出,I/O並不會隨著邏輯取反,必須明確設置,例如

    if (sensorValue > 800)
      digitalWrite(pin,HIGH);
    else
      digitalWrite(pin,LOW); 


    就能解決問題了

    以上供參考

    • 发布于 2017-03-09
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:8
  • 是不是大于800的时候IO被标记高电平,如果不将IO设置为低电平的时候,它会一直处于高电平

    • 发布于2017-03-09
    • 举报
    • 评论 1
    • 0
    • 0
afeiafei309 回复了 六哥六哥 :对的,建议赋初值之后要对io口进行翻转操作,就是取反,这个样子的话,可以保证io口状态可控。 回复

  • 800是什么?如果是电压的模拟量的话,那么肯定会动作的,要把这个测这个模拟量的值之后加io控制的驱动电路。这个应该是硬件方面的问题,你看看是不是能解决。
    • 发布于2017-03-09
    • 举报
    • 评论 0
    • 0
    • 0

  • 不明白你的问题                    
    • 发布于2017-03-09
    • 举报
    • 评论 0
    • 0
    • 0

  • 你发一下你的代码看看,看看是逻辑问题还硬件问题
    • 发布于2017-03-09
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种问题产生的原因很多,下面提可能的原因,你排查一下

    1、电路里面因为某些原因,产生了一个外部中断,导致的跳转

    2、程序里面在某一瞬间大于了800,满足了计数器的中断条件。至于这一瞬间大于800的原因可能是内部故障也可能是正常跳转,最好把程序发上来看看

    3、跳转的条件不止一个。。。

    • 发布于2017-03-09
    • 举报
    • 评论 0
    • 0
    • 0

  • 转和不转的函数没写好。!!
    • 发布于2017-03-09
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

但是让我不明白的是,while中明明设置了大于800的时候点