标签: embedded arduino
所以我正在制作一个草图,它从usb端口取两位数字,检查与该数字匹配的引脚状态,然后打开/关闭引脚。
Take a peek at the source
出于某种原因,当我通过Arduino串行监视器发送13时,我收到此消息: Pin number is greater than 14, details: 490 51 541
Pin number is greater than 14, details: 490 51 541
意味着IDE正在发送奇怪的数字,或者Arduino正在处理错误的数字。你们有没有看到一个问题,为什么这不能正常工作?
答案 0 :(得分:1)
如果输入 ASCII 字符“1”然后输入“3”,则Serial.read()将返回49和51.这是因为在 ASCII 字符表中“1”和“3”分别由数字49和51表示。如果要查找用户输入的数字,则必须将其从 ASCII 转换。
Serial.read()
我对Arduino语言不是很熟悉,但假设它与C类似,你可以找到所需的更改Here。
我用另一种方式重写了程序,可能更清楚Read。
源中使用的'0'只是另一种说法“用于表示字符'0'的数字”,因此是48.在类C语言中'0' == 48,'1' == 49等等。
'0' == 48
'1' == 49