智能硬件——arduino使用直流电机驱动模块控制电机(状态转换的修改)

                            修改文档记录

     问题1:测试的时候能过够无线传输了,我哦策略一组数据发现,系统的状态:system state 一直是0,也就是控制逻辑无法进行状态切换。

     解决:我想到了控制逻辑在初始化状态是0,然后一直是0,可能是在零状态下控制逻辑没发进行计数器cont累加,于是我就加了一个判断语句

if (pre_state == 0)

  {

   state = StateNum;

    pre_state=state;

    pre_mark=mark;

    return;

  }

如果之前的状态就是0,直接切换到符合条件的下一个状态。

问题2,再次测试,第一次切换能够正常进行,但是后续状态依旧无法切换。

关键:思来想去,开始认为是控制逻辑对于每个状态切换计数器的统计条件有问题,改了条件还是不行,之后看了state变化,发现可能是state记录的状态不是实时的标记。

解决:我自行定义了一个mark和pre_mark来记录每一次的状态标记,将状态与转台标记分开,这样只在状态变化时使用state和pre_state,避开了问题。我测了两组数据,能够说明现在状态时比较正常的。

你可能感兴趣的:(智能硬件arduino)