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()括号中数字变大
最后
以上就是复杂星月最近收集整理的关于stm32与串口通信的全部内容,更多相关stm32与串口通信内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复