我想打印出一个在uart屏幕上的程序中计算的整数值。我基本上是在创建一个数据记录系统。用户必须能够查看角色到达的时间。
我无法使用printf或snprintf或sprint,因为我正在创建一个时间触发系统,printf需要一些时间来执行。我搜索了stackoverflow并发现了一些想法,但它们似乎没有用。例如itoa, char c int i = 26; c =(char)i(不起作用但给出奇怪的字符)
谢谢
答案 0 :(得分:1)
在您的示例中,您尝试打印26十进制数。这不是ASCII字符集中的可打印字符。您必须将2转换为ASCII(50十进制),然后将6转换为ASCII(十进制54)以打印26.换句话说,它必须一次只能是一位数。
你可以通过迭代地将十进制48添加到变量中的每个数字(ASCII为零的偏移量)并将ASCII数字从最高有效数字加载到缓冲区中并将其传输到最小数据来实现。