0

我想在 uart 屏幕上打印出程序中计算的整数值。我基本上是在创建一个数据记录系统。用户必须能够查看角色到达的时间。

我无法使用 printf 或 snprintf 或 sprint,因为我正在创建一个时间触发系统并且 printf 需要一些时间来执行。我搜索了stackoverflow并找到了一些想法,但是它们似乎不起作用。例如 itoa, char c int i = 26; c = (char) i ( 不起作用但给出奇怪的字符)

谢谢

4

1 回答 1

1

在您的示例中,您尝试打印 26 十进制。这不是 ASCII 字符集中的可打印字符。您必须将 2 转换为 ASCII(十进制 50),然后将 6 转换为 ASCII(十进制 54)才能打印 26。换句话说,它一次必须是一个数字。

您可以通过迭代地将十进制 48 添加到变量中的每个数字(ASCII 零的偏移量)并将 ASCII 数字从最高有效数字加载到缓冲区中的最低数字并传输它来做到这一点。

于 2012-11-14T00:40:57.167 回答