|
在arduino小车的下位机源代码wifi_robots.ino中,主函数loop如下:- void loop()
- {
- while(1)
- {
- Get_uartdata();
- UartTimeoutCheck();
- }
- }
复制代码 其中:Get_uartdata();是接收串口数据的函数。
本人在使用过程中发现一个问题:如果PC端一直按着前进键(W),小车会一直前进。然后马上换成左转或右转(D)键,小车就会卡一下,大概过1秒,才执行D键的效果。
我曾经认为,这是无法连续识别按键的问题。
但是,如果无法连续识别按键,为什么按着W键,就会一直保持前进呢?
所以现在比较疑惑这是什么缘故?如果想要连续,该怎么修改?
有几个问题:
1.主函数中,UartTimeoutCheck()这个函数看不太懂,它的作用是不是将某个按键的效果保持一段时间?其中的costtime是什么含义?
2.这个小车识别指令的中断方式是什么样子的?为什么会产生上述不连续的现象?要如何克服这个现象使之能够连续动作?
由于是非编程专业的小白,代码都只是涉猎,为了实现上述连续动作,想了许久也不知道怎么改写。希望能详尽指点一二,不甚感激!!
|
|