1

我想通过串行连接向 Arduino 发送整数。例如,当我发送“1”时,Arduino 接收到的数据是“49”,当我发送“a”时,Arduino 接收到的数据是“97”

Python中有两个函数,ord()unichr(). 他们的行为是这样的:

unichr(97) = u"a"
ord(u"a")=97

是否有等效的 C 函数?

4

2 回答 2

2

只要您将字符存储为它们的 ASCII 值,最简单的方法(如果您的目标是转换单个数字)就是减去 0 的 ASCII 值:'8'-'0'将为您提供无符号字符值 8。您需要确保它是一个数字而不是某个字符,但这很容易通过检查结果是否低于或等于 9 来完成。

同样,您可以通过添加“0”的值来获得单个数字 z 的 ASCII 值。

于 2012-11-08T17:45:37.073 回答
2

使用字母数字转整数函数

您可能还会发现头文件 cstdlib、stdlib.h、C 标准通用实用程序库很有用。虽然它说的是 C++,但这个特定部分是标准 C 库。请注意,您可以将 C++ 与 Arduino 一起使用。

于 2010-07-24T19:22:59.233 回答