首页 > 解决方案 > Arduino mills() 溢出

问题描述

我用arduino对电机进行了编程,硬件已经设置好了,所以我不想改变微控制器。我需要给电机 1 秒的时间从每个点移动到另一个点,如果它在“一秒”完成之前停留太多,然后执行其余的代码。下面的代码是整个代码的一部分。它在大约 40 小时后冻结并且无法工作。请告知我该如何防止这种情况。我知道 mills() 函数是问题所在,但不知道替换或防止它的最佳选择是什么?

    unsigned long firsttime = 0;
    unsigned long secondtime = 0;


    void loop(){
        ...
        firsttime= millis();
        myStepper.step(RNum);
        secondtime = 1000-millis()+firsttime;
        delay (secondtime);
        ...
    }

谢谢

标签: arduino-uno

解决方案


推荐阅读