描述问题:使用光路上的串口发送经过曼彻斯特编码后的数据时,只能单次点击发送8bit数据,无法实现一次性发送多个数据。
问题难点:经过对signalTap图的分析发现,无法实现连发的原因是由于是上一个8bit数据还没发完的情况下,下一个数据的en_flag就来了,导致state状态归零后无法置1导致的。
而上一个数据没发完的原因是由于在光路上仍以115200的波特率发送数据,最多发20.1个数据,因此本次所发数据为21位,就导致了上一个数据的done信号未产生的情况下,下一个信号的en_flag信号到来。
目标:自定义串口协议-对光路上的串口设置1个较高的频率,要求频率最低必须大于使用的串口标准波特率115200
问题解决:自定义设置了一个光频率2M。问题解决