搜索
bottom↓
回复: 16

STM32 FAT32往SD卡中写TXT文本数据出现乱码

[复制链接]

出0入0汤圆

发表于 2015-10-20 17:33:36 | 显示全部楼层 |阅读模式
本帖最后由 笑对人生Zzz 于 2015-10-20 17:42 编辑

往stm32上移植了fat32,在sd卡中创建txt文件、读写能够OK。定义一个21 bytes 的数组,定时把数组数据写入txt中,每次写到1507行(写入1507次)时写入的数据开始出现乱码,请问可能是什么原因导致的?使用的fat32 簇大小为32KB,是否是因为一个文件大小超过簇大小而导致?请对fat32和SD卡熟悉的朋友帮忙分析一下,谢谢!!

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2015-10-20 18:16:46 | 显示全部楼层

出0入0汤圆

发表于 2015-10-20 18:52:19 | 显示全部楼层
应该你每一行byte的排位的问题,建议用 Notepad++的软件开txt文件看看,一定会看到问题。

出0入0汤圆

 楼主| 发表于 2015-10-20 19:30:39 | 显示全部楼层
fraser 发表于 2015-10-20 18:52
应该你每一行byte的排位的问题,建议用 Notepad++的软件开txt文件看看,一定会看到问题。 ...

用Notepad++打开TXT如图所示,还是搞不懂为什么会出现这种情况,每次写入的方式都是相同的啊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2015-10-20 19:32:55 | 显示全部楼层
fraser 发表于 2015-10-20 18:52
应该你每一行byte的排位的问题,建议用 Notepad++的软件开txt文件看看,一定会看到问题。 ...

char  buffer[]={"1.11;2.22;3.33;0000;\r\n"};每次写入的数组是这种格式

出0入0汤圆

发表于 2015-10-20 20:12:15 | 显示全部楼层
仔细检查给BUFFER赋值的部分

出0入0汤圆

 楼主| 发表于 2015-10-20 20:43:15 | 显示全部楼层
godsend 发表于 2015-10-20 20:12
仔细检查给BUFFER赋值的部分

给BUFFER赋值是在AD采样后赋的,while循环里一直赋值和定时赋值都试了,一样的效果

出0入0汤圆

发表于 2015-10-20 21:05:25 | 显示全部楼层
笑对人生Zzz 发表于 2015-10-20 20:43
给BUFFER赋值是在AD采样后赋的,while循环里一直赋值和定时赋值都试了,一样的效果 ...

你把buffer打印出来看,AD采样是不是有N多0出现。

出0入0汤圆

 楼主| 发表于 2015-10-20 21:28:55 | 显示全部楼层
godsend 发表于 2015-10-20 21:05
你把buffer打印出来看,AD采样是不是有N多0出现。

打印buffer数据没有问题,TXT文本数据不正常刚好从32KB之后开始(前1507个数据刚好是32KB),也就是一个簇的值,我怀疑是写满一个簇之后继续写数据出问题了。。但是不懂为什么

出0入0汤圆

发表于 2015-10-20 23:06:38 来自手机 | 显示全部楼层
速度问题,写新扇区时间长,适当延长时间

出0入0汤圆

 楼主| 发表于 2015-10-21 10:30:16 | 显示全部楼层
老马识途 发表于 2015-10-20 23:06
速度问题,写新扇区时间长,适当延长时间

每次写完扇区加了50us延时,依然没有效果呀

出0入0汤圆

 楼主| 发表于 2015-10-21 20:39:39 | 显示全部楼层
问题已经解决了,换了个SD卡就一切正常了。。。不过没搞懂问题在哪里,每次数据写入出现错误是从第二个簇开始,如果说是SD卡出现了坏簇,那么在之前有文件占用了坏簇之后,新创建的文件写入数据依然出现同样的问题,这是为什么???

出0入0汤圆

发表于 2015-10-21 20:47:12 | 显示全部楼层
这叫哪门子解决呀,完全是pk干不过直接换了个好欺负的直接ko!

出0入0汤圆

 楼主| 发表于 2015-10-22 11:01:18 | 显示全部楼层
embeddev_1 发表于 2015-10-21 20:47
这叫哪门子解决呀,完全是pk干不过直接换了个好欺负的直接ko!

额,是不能叫解决,因为我没真正搞清楚原因,暂且认为之前使用的SD卡有问题

出0入0汤圆

发表于 2015-10-22 11:33:37 | 显示全部楼层
你好,我专门做TI原装芯片,ST的,STM32F103C8T6这个型号每月的量也很大,价格非常好,常备库存,可以加我:2八1七8二1二5六

出0入0汤圆

发表于 2017-7-13 16:18:25 | 显示全部楼层
求程序。。。。。谢谢

出0入0汤圆

发表于 2017-7-13 18:50:58 | 显示全部楼层
支持楼上,发出来看看
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-22 05:02

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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