作为主控芯片的实时系统,提供多线程编程.小车的每个重要的需要实时的功能都单独作为一个线程.如小车的mpu9250姿态解算出姿态角(Roll、Pitch、Yaw )的过程就单独使用了一个线程(mpu9250),小车的PID控制速度的代码也单独使用了一个线程(speed).每个功能线程(mpu9250,speed...等)都会处理完各自的数据得出结果,并且这些结果在必要的时候提供给主线程(master)使用.也正是因为rt-thread的优先级全抢占式调度使得重要的线程能及时处理完.另外rt-thread提供的finsh/msh在调试期间起到了很大的作用,同时也可以通过远程蓝牙串口控制小车的行为.
命令 | 功能 |
---|---|
eaix4cmd -gvf | 输出激光雷达版本信息. |
eaix4cmd -sc | 小车开始扫描,启动避障功能. |
eaix4cmd -s | 激光雷达停止扫描,但是不会停车. |
carMove -f | 小车向前. |
carMove -b | 小车后退. |
carMove -l | 小车左转. |
carMove -r | 小车右转. |
https://github.com/balanceTWK/LidarCar.git
将下载下来的代码放在rt-thread-3.0.2\bsp\目录下,直接打开project.uvprojx文件即可.或者在我的百度云里下载完整的代码. 百度云地址:https://pan.baidu.com/s/1he8LQZstRXENBMgs_tQ5Mw