moonbeam 发表于 2025-2-28 15:55:49

32G开启浮点运算加速库浮点数据转换

32G开启浮点运算加速库数据的浮点隐式转换和强制转换均不成功





打印输出b为0x00 00 00 64
C为0x42 c8 00 00


梁工 发表于 2025-2-28 16:01:47

请贴出uart1_send()函数原形。

moonbeam 发表于 2025-2-28 16:09:52

梁工 发表于 2025-2-28 16:01
请贴出uart1_send()函数原形。

串口的代码

Ayb_ice 发表于 2025-2-28 16:43:58

浮点数100的HEX原码就是0x42C80000

Ayb_ice 发表于 2025-2-28 16:46:54

你这压根就不是打印,打印是printf

moonbeam 发表于 2025-2-28 16:54:53

Ayb_ice 发表于 2025-2-28 16:46
你这压根就不是打印,打印是printf

我没有做串口的重定向,c = a里面有隐式转换,正常条件下 c = ahex值为0x00 00 00 64使用串口发送出来的还是浮点数的100 hex值为0x42 c8 00 00

梁工 发表于 2025-2-28 17:15:19

你用 c = (int32_t)a; 试试

moonbeam 发表于 2025-2-28 17:21:37

梁工 发表于 2025-2-28 17:15
你用 c = (int32_t)a; 试试

还是一样的





Ayb_ice 发表于 2025-3-3 08:42:22

moonbeam 发表于 2025-2-28 16:54
我没有做串口的重定向,c = a里面有隐式转换,正常条件下 c = ahex值为0x00 00 00 64使用串口发送出 ...

你那强制地址转换发发送的就是原码,100浮点数原码就是0x42 c8 00 00,这是基础问题

_奶咖君_ 发表于 2025-3-3 10:56:41

欸 如果不开硬件的浮点库呢?
隐式转换先不说可不可以,感觉可能是不同编译器的问题,强制转换也不行就有点儿意思了。。
页: [1] 2
查看完整版本: 32G开启浮点运算加速库浮点数据转换