【发布时间】:2018-01-28 18:10:52
【问题描述】:
我在下面有这个数组:
dataIn[5] = 0x88;
dataIn[6] = 0x2A;
dataIn[7] = 0xC7;
dataIn[8] = 0x2B;
dataIn[9] = 0x00;
dataIn[10] = 0x28;
我需要将这些值转换为十进制,因为之后我需要将十进制值转换为 ASCII 并发送到 UART。
例如:
| Hexa | Decimal | ASCII (I need to send this data to UART)
| 0x882AC72B00 | 584 833 248 000 | 35 38 34 38 33 33 32 34 38 30 30 30
| 0x5769345612 | 375 427 192 338 | 33 37 35 34 32 37 31 39 32 33 33 38
我的问题:这些数据应该放在一起并转换为十进制,但我的编译器只有 4 个字节,我不知道该怎么做,因为我有 5 个或更多字节。
Ps.:我正在使用 PIC18F46K80 和 C18 编译器
[已编辑]
Click here to see what happen when I try to use more than 4 bytes. This is my problem
谁能帮帮我?
提前致谢。
【问题讨论】:
-
如何对“十进制”值进行分组?每个十进制值使用多少位?你如何将五个字节分成四个十进制值?抱歉重复了,同样的问题问了三次,但这对于帮助理解您的问题以及如何解决问题非常重要。
-
为什么需要将它们作为字符发送?用于展示?
-
那些数据来自UART,所以我一一获取,放入这个数组中。 “我如何对十进制值进行分组?”,我使用按位移位,但这是我的问题,我不能这样做,因为我的编译器最多可以使用 4 个字节。
-
是的,它是用来显示数据的,但我会将这些数据发送到我的 Android 应用程序,这个应用程序能够“理解”只是 ASCII。
标签: c microcontroller microchip c18