【问题标题】:Serial sending weird data串口发送奇怪的数据
【发布时间】:2008-12-26 23:55:33
【问题描述】:

所以我正在制作一个草图,从 USB 端口获取一个两位数字,检查与该数字匹配的引脚状态,然后打开/关闭引脚。

Take a peek at the source

由于某种原因,当我通过 Arduino 串行监视器发送 13 时,我收到以下消息: Pin number is greater than 14, details: 490 51 541

意味着 IDE 正在发送奇怪的数字,或者 Arduino 处理错误。你们中是否有人认为为什么这不能正常工作?

【问题讨论】:

    标签: embedded arduino


    【解决方案1】:

    如果您输入 ASCII 字符“1”然后“3”然后Serial.read() 将返回 49 和 51。这是因为在 ASCII 字符表中“1 " 和 "3" 分别由数字 49 和 51 表示。如果您想找到用户输入的数字,您必须将其从 ASCII 转换。

    我对 Arduino 语言不是很熟悉,但假设它与 C 语言类似,您可以找到所需的更改 Here

    我用另一种方式重写了程序,可能Read来说更清楚。

    源中使用的 '0' 只是“用于表示字符 '0' 的数字”的另一种说法,48 也是如此。在类 C 语言中 '0' == 48'1' == 49 等.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-31
      相关资源
      最近更新 更多