硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2476|回复: 6
收起左侧

[μCOS-II] uCOS的消息邮箱中增加一个 float的变量浮点数问题

[复制链接]

42

主题

81

回帖

207

积分

高级会员

积分
207
发表于 2020-7-24 12:07:06 | 显示全部楼层 |阅读模式
我在V4的UCOS的消息邮箱例程中增加一个 float的变量  每次增加0.01  并且打印结果如下
0.700000
0.710000
0.720000
0.730000
0.740000
0.750000
0.760000
0.770000
0.780000
0.790000
0.800000
0.810000
0.820000
0.830000
0.839999
0.849999
到0.83的时候就出错了 怎么回事呢

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
发表于 2020-7-24 13:40:17 | 显示全部楼层
上传你的工程看下。
回复

使用道具 举报

42

主题

81

回帖

207

积分

高级会员

积分
207
 楼主| 发表于 2020-7-24 13:56:17 | 显示全部楼层
我的打印口是串口2

V4-801_uCOS-II实验_消息邮箱.rar

2.65 MB, 下载次数: 12

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
发表于 2020-7-24 14:08:55 | 显示全部楼层
看了下你的问题,再看了下工程,这个不是出错了,这是浮点数精度问题。

F1那种不带硬件FPU的,从0.830000 到 0.839999是可以接收的。
回复

使用道具 举报

42

主题

81

回帖

207

积分

高级会员

积分
207
 楼主| 发表于 2020-7-24 14:10:27 | 显示全部楼层
eric2013 发表于 2020-7-24 14:08
看了下你的问题,再看了下工程,这个不是出错了,这是浮点数精度问题。

F1那种不带硬件FPU的,从0.83000 ...

好的  谢谢解惑
回复

使用道具 举报

42

主题

81

回帖

207

积分

高级会员

积分
207
 楼主| 发表于 2020-7-24 14:13:31 | 显示全部楼层
还有为什么输出控制不了灯,我的是PA15,调试发现有在翻转了,但是实际没变化,灯是正常的,裸机的时候可以亮的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
发表于 2020-7-24 14:16:12 | 显示全部楼层
然就是你在我们的例子基础上添加了
任务栈空间的8字节对齐,这个是个治标不治本的错误处理办法。

3.jpg

根本的解决办法是在这里,我们的程序里面已经做处理了,这里做了8字节对齐

QQ截图20200724141351.jpg






回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-10 05:13 , Processed in 0.172539 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表