串口通讯+PWM波:STM32F103C8T6通过USART1输入相应的指令控制的TIM3四个通道生成四个占空比不同的频率为50HzPWM波来控制云台。
之前用FT232直连单片机,一切正常返回的指令无乱码正常。
接上数传图传出现问题:
1、连续给出高电平时间持续1.5ms的指令,电机本该静止却会往一个方向慢慢漂移。怀疑每次在发出指令单片机相应指令的过程中会导致PWM波占空比变化。
2、接上数传后返回的指令中含有很多乱码。设备有时会莫名重启或者关闭。怀疑是发送的指令出现了偏差触发了开关机的指令。
3、设备返回的图像黑屏
解决方法:
1、对于重复发出的指令,设置相应的重复处理程序。若指令相同或者相同指令持续3次则跳过该次指令返回”REPEAT COMMAND!!!”字样,直到接收到不同指令。
2、加上校验码,采用的是求和校验的方式。
3、重新研究了下PWM波高电平长短顺序控制设备的指令,发现之前的理解有误,重新修正了PWM波生成的顺序。
4、图像黑屏是USB设备引起的,重启即可。
另外:
1、校验方法可否改进。CRC校验?
2、PWM波占空比设置方式可否改变。改为DMA直接控制,绕过CPU可否解决这个问题。