1. stm32向linux串口发送的是ascii码,显示出来的是对应的符号程序小段如下:
USART_SendData(USART1, canreceive[j]);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);
想要发送的是对应的数据采用printf函数,如下:
printf("%02x",canreceive[j]);//02x显示前边的0,16进制显示
2.linux端第一个数据重复上一次运行的最后几个数据
解决办法:进入循环前先读一下,丢弃第一次数据
3.linux端数据错误
解决办法:rate()括号中数字变大