Timer
2 完全重映射 ch2:pwm波形输出 控制舵机
3 完全重映射 ch1,ch2:pwm波形输出 控制左右轮转速
4 映射 ch1:输入捕获 用于读取超声波echo返回的高电平持续时间
5 无映射 无通道 矫正小车运动状态
6 无映射 无通道 定时刷新MPU数据 并执行一些定时任务
7 无映射 无通道 监视usart3数据是否接受完成
Usart
1 无映射 与上位机通讯
2 无映射 与蓝牙通讯
3 无映射 与WIFI模块通讯
PA2 USART2_TX 蓝牙
PA3 USART2_RX 蓝牙
PA9 USART1_RX 上位机
PA10 USART1_TX 上位机
PB3 TIM2_CH2 舵机
PB6 I2C1_SCL MPU6050加速度陀螺仪
PB7 I2C1_SDA MPU6050加速度陀螺仪
PB10 USART3_TX WIFI
PB11 USART3_RX WIFI
PC6 TIM3_CH1 小车运动left
PC7 TIM3_CH2 小车运动right
PD11 IO 超声波TIRG
PD12 TIM4_CH1 超声波ECHO
PF0 IO 小车运动
PF1 IO 小车运动
PF2 IO 小车运动
PF3 IO 小车运动
PF4 IO 霍尔传感器 外部中断
- HELLO (测试连接,连接成功会播放walle的声音)
- TASK:F2,L90,D2, (开始采集。可定制的小车采集模式,详情在下面)
- STOP (停止采集,是TASK的结束指令)
- reset_dir (由于mpu6050的航向角具有零点漂移,此指令用于重置当前方向为目标方向)
- SP (100,100) (设置小车坐标,初始时默认为 x:0,y:0)
以“TASK:F2,L90,D2,”为例 以TASK:开头 后面表示一连串连续的动作: F(forward,2表示走两个轮子周长的距离), L(left,90代表向左转的角度,向右同理,L变为R), D(delay,表示暂停几秒,此处表示在原地等待2秒) 命令之间以英文逗号(",")隔开,且最后的逗号不可省略
那么可以理解这个命令的运动轨迹即:前进两步,左转90度,等待两秒,再前进两步->>>>>(轨迹则是沿一个正方形逆时针行驶)
另外,只有在采集过程中,才会向服务器上报周围ibeacon和wifi的信息以及自己的地理位置信息。