weixin_53192108 2023-02-18 21:37 采纳率: 33.3%
浏览 32
已结题

python,Arduino,串口通讯

arduino串口通信,总是乱码。无论是和传感器通讯还是和其他软件通讯,都是乱码。
图中左边使我用python写的一小段代码,将fb通过串口2,外接S48转接线,与UNO板0 1 接口相连,发送给UNO板,但arduino接收显示总是乱码,偶尔不显示乱码处也只显示0或其他无关数字。
检查了好多遍,波特率,端口号,硬件连接,都没有问题,也问了很多老手都不知道。

img

  • 写回答

3条回答 默认 最新

  • 快撑死的鱼 2023-02-18 22:27
    关注

    回答不易 求求您采纳哦

    串口通信出现乱码的原因可能有多种,以下是一些可能导致问题的原因:

    • 波特率不匹配
      确保发送和接收端的波特率匹配。在Arduino程序中使用Serial.begin()函数设置波特率,需要确保此设置与Python代码中的波特率设置一致。

    • 数据格式不匹配
      在数据传输之前需要确保发送和接收端的数据格式相匹配,例如,发送方将数据以二进制格式发送,接收方需要以相同的格式接收和解析数据。另外还需要确保发送和接收端的字节顺序(大端或小端)相同。

    • 传输时的噪声
      传输时的噪声可能会导致数据损坏,需要确保数据传输通道的质量,如传输线缆的接触良好、电源供应的稳定等。

    • 缓冲区溢出
      如果发送方连续发送大量数据而接收方无法及时处理,则可能会导致缓冲区溢出,这可能会导致数据丢失或损坏。在接收方,可以使用Serial.available()函数和Serial.read()函数来确保及时处理所有接收到的数据。

    • 字符编码问题
      如果发送和接收方的字符编码不同,则可能会导致乱码问题。需要确保发送和接收方使用相同的字符编码,例如ASCII编码。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月6日
  • 已采纳回答 2月26日
  • 修改了问题 2月18日
  • 创建了问题 2月18日