找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1948|回复: 3
收起左侧

关于stm32文件系统在SD卡中连续创建txt文件的问题

[复制链接]
ID:481966 发表于 2021-9-3 23:40 | 显示全部楼层 |阅读模式
10黑币
从串口接收数据保存在SD卡中,以函数
f_open(&fnew,"0:DATA1.txt",FA_CREATE_ALWAYS|FA_WRITE)创建了txt文件,将串口数据保存在txt文件中,当txt文件大于5MB时,创建DATA2.txt,然后将数据保存在DATA2.txt中,循环如此,不太明白创建文件名这快"0:DATA1.txt"不是一个字符串吗,怎么循环创建文件名,想到了sprintf函数,没有思路该怎么操作才能完成呢

回复

使用道具 举报

ID:624769 发表于 2021-9-4 16:00 | 显示全部楼层
你只是要思路的话,DATA纯字符串你不用管。
你有个变量比如:File_Num   你用什么逻辑,什么时机去累加,自己考虑。
要命名文件名的时候,给完字符串"DATA"之后,
File_Num / 10 ,  等于0的话跳过,大于0的话, 把(File_Num / 10)+‘0’
然后,(File_Num % 10)+‘0’
最后把字符串 “.TXT" 给补上就好了。
这是两位数记法,三位数,四位数方法同上类推。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:481966 发表于 2021-9-5 21:56 | 显示全部楼层
188610329 发表于 2021-9-4 16:00
你只是要思路的话,DATA纯字符串你不用管。
你有个变量比如:File_Num   你用什么逻辑,什么时机去累加, ...

谢谢你的答复,你这个思路我没太懂,代码不会写,我现在是将数字循环加然后转为字符串,然后将字符串合并起来来实现完整字符串,现在有个问题是我在C编译器可以成功,在keil里却有问题,不知道咋回事,困扰
回复

使用道具 举报

ID:624769 发表于 2021-9-5 22:18 | 显示全部楼层
yqyq 发表于 2021-9-5 21:56
谢谢你的答复,你这个思路我没太懂,代码不会写,我现在是将数字循环加然后转为字符串,然后将字符串合并 ...

你用的C编译器可能不是针对单片机的C.
keil 里 你编译不了,很大的可能,是你没有include 足够支撑你运算的库(头文件) 比如 MATH.H 之类的。你双击keil 里报错的地方,看看他跳转到哪条代码,然后看看是不是某个运算需要指定的头文件。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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