打印
[活动]

给结构体的字节数组域赋值浮点数导致硬件错误!

[复制链接]
1051|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yzzly|  楼主 | 2020-8-14 18:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yzzly 于 2020-8-15 10:01 编辑

软件有如下语句:float *FloatPoint;

FloatPoint=(float *)(Uart5.TxdBuf);
*FloatPoint=FloatRemoteTestData;

Uart5.TxdBuf  8位无符号缓冲区。


问题如下:
一旦执行“*FloatPoint=FloatRemoteTestData”语句时就发生硬件错误,Uart5.TxdBuf的地址已经成功赋给指针FloatPoint;
如果FloatPoint指向的是非结构类型缓冲区,则没有问题。
如何才能解决这个问题?谢谢!


使用特权

评论回复

相关帖子

沙发
xyz549040622| | 2020-8-14 18:12 | 只看该作者
看着没什么问题,和变量的使用范围有关吗?是不是你Uart5.TxdBuf的数据实时发送导致的,你把这个数据不要操作试试。

使用特权

评论回复
板凳
yzzly|  楼主 | 2020-8-14 18:27 | 只看该作者
xyz549040622 发表于 2020-8-14 18:12
看着没什么问题,和变量的使用范围有关吗?是不是你Uart5.TxdBuf的数据实时发送导致的,你把这个数据不要操 ...

没有实时发送,只在填充完成后,才会调用发送函数,赋值其它类型的数据是没有问题的。

使用特权

评论回复
地板
yzzly|  楼主 | 2020-8-15 09:59 | 只看该作者
是结构体变量内存字节对其的问题导致!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

427

主题

1178

帖子

3

粉丝