m0_58082715 2023-02-20 20:33 采纳率: 33.3%
浏览 115
已结题

Arduino串口问题

Arduino中,为什么把Serial.println();都改为Serial.print(); 就会报错no matching function for call to'HardwareSerial:print()"呢?

  • 写回答

3条回答 默认 最新

  • 答主 2023-02-20 21:43
    关注
    • 在 Arduino 中,Serial.println() 和 Serial.print() 都是串口通信中常用的输出函数,它们的参数可以是不同类型的数据,如字符串、整型、浮点型等。Serial.println() 是在输出数据后会自动换行,而 Serial.print() 则不会自动换行。
    • 在将所有 Serial.println() 都改为 Serial.print() 后,如果编译器报错 "no matching function for call to 'HardwareSerial::print()'",这通常是因为没有为 Serial.print() 提供正确的参数。
    • Serial.print() 函数至少需要一个参数,即要输出的数据。如果您不提供任何参数,编译器就会报错。如果您提供了参数,但参数类型与 Serial.print() 函数期望的类型不匹配,也会导致编译器报错。例如,如果您尝试将一个字符串传递给 Serial.print(),但是将字符串用双引号而不是单引号括起来,也会导致编译器报错。
    • 因此,请检查您更改后的代码中,是否为每个 Serial.print() 函数提供了正确的参数,并且参数类型与函数期望的类型匹配。如果问题仍然存在,您可以尝试使用 Serial.write() 函数进行调试。Serial.write() 函数可以将单个字节写入串口输出,如果它可以正常工作,则说明串口通信本身没有问题。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月1日
  • 已采纳回答 2月21日
  • 创建了问题 2月20日

悬赏问题

  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥100 已有python代码,要求做成可执行程序,程序设计内容不多
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答