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

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日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改