OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4540|回复: 10

求助!mf_write函数如何写入FLOAT型数据?

[复制链接]

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2019-5-5
在线时间
14 小时
发表于 2019-6-30 12:24:48 | 显示全部楼层 |阅读模式
3金钱
写字符串正常。
直接写浮点型不正常,前面加(CHAR)强制转换,能正常写,但写得好象不对,在16进制下看写进的内容也理不清。初学者,格式和参数搞不太清,可否劳驾给个例子。
谢谢!



最佳答案

查看完整内容[请看2#楼]

很简单啊 比如: float a=0.1234; u8 *p; p=(u8*)&a; 然后存储p就行了,p的大小是4个字节。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-6-30 12:24:49 | 显示全部楼层
zzsbabytiger 发表于 2019-7-3 20:09
能给几句例子吗?我努力理解下。
谢谢!

很简单啊
比如:
float a=0.1234;
u8 *p;
p=(u8*)&a;
然后存储p就行了,p的大小是4个字节。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

7

主题

333

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1838
金钱
1838
注册时间
2012-7-16
在线时间
504 小时
发表于 2019-6-30 14:00:01 | 显示全部楼层
1.将浮点数转成字符串。2.float占4个字节,直接把这4字节存进去。
回复

使用道具 举报

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2019-5-5
在线时间
14 小时
 楼主| 发表于 2019-6-30 22:43:58 | 显示全部楼层
for(i=1,i<2500+1,i++)
{
    mf_write((char)datalog(i),4);
    mf_write(",",1);
}

请看看哪有问题?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-7-1 02:34:46 | 显示全部楼层
你想怎么搞?简单点的就是直接将浮点数转成u8*的指针,这样写是最方便的。
回复

使用道具 举报

0

主题

45

帖子

0

精华

高级会员

Rank: 4

积分
624
金钱
624
注册时间
2018-5-24
在线时间
120 小时
发表于 2019-7-1 07:54:32 | 显示全部楼层
也可以使用共用体
回复

使用道具 举报

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2019-5-5
在线时间
14 小时
 楼主| 发表于 2019-7-2 05:54:25 | 显示全部楼层
正点原子 发表于 2019-7-1 02:34
你想怎么搞?简单点的就是直接将浮点数转成u8*的指针,这样写是最方便的。

能写几句例子吗?谢谢!
回复

使用道具 举报

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2019-5-5
在线时间
14 小时
 楼主| 发表于 2019-7-2 06:42:28 | 显示全部楼层
高福民 发表于 2019-7-1 07:54
也可以使用共用体

我是初学者,可否劳驾再多说几句,最好给个例子,谢谢!
否则摸不着北呀!
回复

使用道具 举报

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2019-5-5
在线时间
14 小时
 楼主| 发表于 2019-7-2 07:57:33 | 显示全部楼层
例程中,每调用一次f_write在串口调试助手上都有提示信息,关闭提示后,向SD卡中写数据瞬间完成。
但写的数据好象不对。

综合了这么多例程,程序有点多,编译有点慢。

综合了这么多例程,程序有点多,编译有点慢。
回复

使用道具 举报

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2019-5-5
在线时间
14 小时
 楼主| 发表于 2019-7-3 20:09:39 | 显示全部楼层
正点原子 发表于 2019-7-1 02:34
你想怎么搞?简单点的就是直接将浮点数转成u8*的指针,这样写是最方便的。

能给几句例子吗?我努力理解下。
谢谢!
回复

使用道具 举报

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2019-5-5
在线时间
14 小时
 楼主| 发表于 2019-7-5 05:04:34 | 显示全部楼层
正点原子 发表于 2019-7-5 01:17
很简单啊
比如:
float a=0.1234;

非常感谢!
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-19 09:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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