菜香菇 2023-05-22 23:26 采纳率: 0%
浏览 80

arduino的串口监视器乱码

img

img


第一张是串口打印的代码,第二张是下载后就生成这样的乱码,不知道是什么问题。求解

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-05-23 08:04
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 这篇博客也许可以解决你的问题👉 :arduino学习中常用电机科普之直流有刷电机与无刷电机(本帖不讲程序,只讲电机原理与构造)
    • 除此之外, 这篇博客: 通过串口传值给Arduino,再通过Arduino控制小车(直流电机)移动与二自由度云台转动角度中的 上诉代码后面都有详细的解释了,就不再重复解释了。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

      然后,你可以通过串口监视器输入‘f’控制小车前进一段距离,同理输入‘b’控制小车后退一段距离。输入‘60,30’控制二自由度云台转动到(60°,30°)。注意‘,’为英文下的逗号。
      也可以使用各种串口通信的方式,通过其他东西(如:树莓派)传值给Arduino的串口来控制他的直流电机与云台。

    • 以下回答来自chatgpt:

      根据问题描述,出现乱码的原因是串口通信异常。这种情况常见于波特率、数据位、停止位等参数设置不正确或者在代码中处理串口数据出现错误等问题。解决该问题的具体步骤如下:

      1. 确认串口参数设置是否正确,包括波特率、数据位、校验位和停止位等。常见的波特率为9600、115200等。可以参考本篇参考资料中的Arduino代码文件和串口调试工具的使用方法进行确认和调试。

      2. 在代码中添加处理串口数据的代码。可以通过Serial.available()函数获取输入缓冲区中可用的字节数量,然后使用Serial.read()函数逐个读取缓冲区中的数据,并进行处理和输出。具体的实现可以参考以下示例代码:

      void setup() {
        // 初始化串口
        Serial.begin(9600);
      }
      void loop() {
        // 检查串口是否有可用数据
        if (Serial.available() > 0) {
          // 读取缓冲区中的数据,并进行处理
          char data = Serial.read();
          // 输出处理后的数据
          Serial.println(data);
        }
      }
      
      1. 如果仍然出现乱码的情况,可以考虑更换串口线、重新烧录Arduino程序等操作,尝试排除硬件故障的可能性。

      总之,解决Arduino串口监视器出现乱码的问题,需要综合考虑硬件和软件方面的因素,并通过逐步检查、调试等方式逐步缩小问题范围,最终确定并修复问题。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 5月22日

悬赏问题

  • ¥100 需要跳转番茄畅听app的adb命令
  • ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥50 opencv4nodejs 如何安装
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证