|
本帖最后由 fengzhao 于 2024-9-24 16:43 编辑
最近搞浮点的显示有点搞不懂,论坛的大神可以帮我看一下吗?
系统:DGUSII,MSB模式
型号:DMG10600T101_A5WTC;
设计目的:串口接收HEX格式的数据,将其显示于界面上
遇到问题:我浮点显示设置的地址分别为1000,1002两个地址,从串口收到数据后对其进行显示,串口发送的浮点数据采用IEEE 754标准,
测试用例:
- 按照代码1:1000地址写入0C 43 0C 42,1002地址写入00 00,1003地址写入 00 00,浮点数显示140(用hex显示看里面存储:1000地址是430C、1001地址是0000、1002地址是0000、1003地址是0000)——引出第一个疑问:迪文里面是按LSB存储?单次写入两个word是无效?
- 按照代码1:1000地址写入0C 43 00 00,1002地址写入0C 42,1003地址写入 00 00,浮点数显示140.26(用hex显示看里面存储:1000地址是430C、1001地址是420C、1002地址是0000、1003地址是0000)——引出第二个疑问:一个浮点数据要用4个地址存储?一个地址对应不是16位吗?
- sys_write_vp(0x1000,uart4_buf+34,2);
- sys_write_vp(0x1002,uart4_buf+38,1); sys_write_vp(0x1003,uart4_buf+40,1);
复制代码
|
|