我想通过串行连接向 Arduino 发送整数。例如,当我发送“1”时,Arduino 接收到的数据是“49”,当我发送“a”时,Arduino 接收到的数据是“97”
Python中有两个函数,ord()
和unichr()
. 他们的行为是这样的:
unichr(97) = u"a"
ord(u"a")=97
是否有等效的 C 函数?
我想通过串行连接向 Arduino 发送整数。例如,当我发送“1”时,Arduino 接收到的数据是“49”,当我发送“a”时,Arduino 接收到的数据是“97”
Python中有两个函数,ord()
和unichr()
. 他们的行为是这样的:
unichr(97) = u"a"
ord(u"a")=97
是否有等效的 C 函数?
只要您将字符存储为它们的 ASCII 值,最简单的方法(如果您的目标是转换单个数字)就是减去 0 的 ASCII 值:'8'-'0'
将为您提供无符号字符值 8。您需要确保它是一个数字而不是某个字符,但这很容易通过检查结果是否低于或等于 9 来完成。
同样,您可以通过添加“0”的值来获得单个数字 z 的 ASCII 值。
使用字母数字转整数函数。
您可能还会发现头文件 cstdlib、stdlib.h、C 标准通用实用程序库很有用。虽然它说的是 C++,但这个特定部分是标准 C 库。请注意,您可以将 C++ 与 Arduino 一起使用。