|
|
|
| 论坛首页 -> STM32/STM8 技术讨论区 -> 为STM32移植FATFS,读取SD卡上FAT12/16/32文件系统[Update:2008-9-25,11:52]【恢复】 (属于论坛:STM32/8) | 跳转至: | 登录后才能发表新主题 |
| 为STM32移植FATFS,读取SD卡上FAT12/16/32文件系统[Update:2008-9-25,11:52]【恢复】 | 回复数:125,点击数:8752 |
|
抱歉本贴的回复数太多,为了减轻网络流量,只显示帖子正文的前后各10个回复。本贴的正文内容中间隐藏了105个回复。你需要 点击此处 才能查看全部内容。 对为你带来的访问不便表示歉意。不过我们仍会坚持即使没有登录,仍能共享我们网站的所有资料。你没有 登录后就能消除这个访问上的不便(可增加到显示60个回复)。 如果你是新用户请先 注册。注册是免费的,并且手续简单只需要填写用户名与口令。 ↓↓↓↓↓↓↓↓↓↓↓↓ |
|
【楼主位】 ifree64 积分:916 派别: 等级:------ 来自:火星 |
给stm32移植fatfs文件系统,今天终于取得阶段性胜利。只需要提供这样几个函数即可
DSTATUS disk_initialize (BYTE); DSTATUS disk_status (BYTE); DRESULT disk_read (BYTE, BYTE*, DWORD, BYTE); DRESULT disk_write (BYTE, const BYTE*, DWORD, BYTE); // 如果实现只读的文件系统就不需要了。 DRESULT disk_ioctl (BYTE, BYTE, void*); 移植成功后,可以用如下方式读取SD卡了,实在太方便了,和PC机上编程差不了多少。 unsigned int i; BYTE buffer[512]; // file copy buffer FATFS fs; // Work area (file system object) for logical drive FIL fsrc; // file objects FRESULT res; // FatFs function common result code UINT br; // File R/W count USART1_Puts("Now, I'll read file 'i2c/uart.lst'.\n"); // Register a work area for logical drive 0 f_mount(0, &fs); // Open source file res = f_open(&fsrc, "i2c/uart.lst", FA_OPEN_EXISTING | FA_READ); if (res) { USART1_Puts("Can't open i2c/uart.lst for read. :-(\n"); goto exit; } for (;;) { res = f_read(&fsrc, buffer, sizeof(buffer), &br); if (res || br == 0) break; // error or eof for( i = 0; i < br; ++i ) USART1_Putc(buffer[i]); } f_close(&fsrc); exit: // Unregister a work area before discard it f_mount(0, NULL); 源代码: 点击此处下载 ourdev_429063.rar(文件大小:206K) (原文件名:SDFATFS.rar) 调试结果 (原文件名:fatfs.JPG) 现在还有点问题:有时正常,有时不正常,还没找到原因。 上面的代码在sd卡初始化上有点问题,下面是修改过的版本,在我的2G SD卡上运转良好。 点击此处下载 ourdev_429587.rar(文件大小:207K) (原文件名:SDFATFS.rar) 本贴被 ifree64 编辑过,最后修改时间:2008-09-25,11:52:57. |
||
|
|
|
|
【1楼】 lanshuitianxia 黑蚂蚁 积分:1668 派别: 等级:------ 来自:上海 |
呵呵 帮顶一下 | ||
|
__________________________ 理想+行动=成功 人生不要惧怕错误,要善于从错误中总结经验。 STM32行动中.... uCOS-II学习中.... http://shop34765428.taobao.com/ |
|||
|
|
|
|
【2楼】 ifree64 积分:916 派别: 等级:------ 来自:火星 |
自己顶一下,沉得真快。 | ||
|
|
|
|
【3楼】 weijingyan0814 Vinnee 积分:31 派别: 等级:------ 来自: |
up! 3Q | ||
|
|
|
|
【4楼】 418425051 宽 积分:386 派别: 等级:------ 来自: |
谢谢分享,顺便抢个地板! | ||
|
__________________________ 风月可谈,国事莫问. |
|||
|
|
|
|
【5楼】 jamiedu 阿明 积分:180 派别: 等级:------ 来自:羊城 |
好好,谢谢。 | ||
|
__________________________ 一步一步慢走,不急。 |
|||
|
|
|
|
【6楼】 eddia2000 积分:340 派别: 等级:------ 来自: |
顶下,不要就沉了. | ||
|
|
|
|
【7楼】 ifree64 积分:916 派别: 等级:------ 来自:火星 |
找到不稳定的原因了。
SD卡初始化的代码有点问题,今天稍后上传修改后的代码。 谢谢楼上诸位的参与。 |
||
|
|
|
|
【8楼】 aguiddd 积分:36 派别: 等级:------ 来自: |
顶,我最近也在弄这个,楼主真好! | ||
|
|
|
|
【9楼】 ifree64 积分:916 派别: 等级:------ 来自:火星 |
楼主位代码已经更新,现在读SD卡没有问题了。 | ||
|
|
|
|
【10楼】 252177861 白色简单 积分:508 派别: 等级:------ 来自:湖南 |
帮顶 | ||
|
__________________________ 把微笑留给伤害你最深的人 |
|||
|
|
|
|
↑↑↑↑↑↑↑↑↑↑↑↑ 抱歉本贴的回复数太多,为了减轻网络流量,只显示帖子正文的前后各10个回复。本贴的正文内容中间隐藏了105个回复。你需要 点击此处 才能查看全部内容。 对为你带来的访问不便表示歉意。不过我们仍会坚持即使没有登录,仍能共享我们网站的所有资料。你没有 登录后就能消除这个访问上的不便(可增加到显示60个回复)。 如果你是新用户请先 注册。注册是免费的,并且手续简单只需要填写用户名与口令。 ↓↓↓↓↓↓↓↓↓↓↓↓ |
|
【116楼】 joyko 积分:227 派别: 等级:------ 来自: |
我的也没加有无卡检测,感觉PA6的设置输入输出没关系? 我以前没上文件系统的时候照样可以读写,SPI总线的官方例子也是设置为AF-PP的没问题。
问题是偶尔会初始化不成功,读成功,写不行,直接返回FR_RW_ERROR ? 本贴被 joyko 编辑过,最后修改时间:2009-08-08,18:19:46. |
||
|
|
|
|
【117楼】 friendljy 积分:879 派别: 等级:------ 来自:巨鹿 |
mark | ||
|
__________________________ ------------------------------------------------------------------------------------- 尝试消费电子应用的带有单片机接口的OLED,TFT,在仪表行业的应用。有公司资质,可以对公账户,开发票。 当然也可以淘宝~~ ------------------------------------------------------------------------------------- 3.0TFT,分辨率400*240,可选8bit或16bit接口。75RMB送转接板。 http://www.finalic.com/main/showactee.asp?id=26 http://item.taobao.com/auction/item_detail-db2-08494faa9da1d90c2bfbf2f5ad279f22.htm |
|||
|
|
|
|
【118楼】 fu0653 积分:8 派别: 等级:------ 来自: |
你好,謝謝分享。
我試著使用此源碼,會初始化不成功耶, 請問可能是什麼問題?? Now, I'll read file 'aa.txt'. init failed Can't open aa.txt for read. :-( 謝謝各位高手幫忙。 感激 |
||
|
|
|
|
【119楼】 acen 阿杰 积分:7 派别: 等级:------ 来自: |
好贴一定顶 | ||
|
|
|
|
【120楼】 dingdangCat 积分:224 派别: 等级:------ 来自:四川<--->重庆 |
marked | ||
|
__________________________ 眼高手低…志大才疏…就算没脑子,也要用自己的脑子思考 |
|||
|
|
|
|
【121楼】 xinjie1023 积分:400 派别: 等级:------ 来自: |
顶住 | ||
|
|
|
|
【122楼】 bwsz1 积分:64 派别: 等级:------ 来自: |
学习 | ||
|
|
|
|
【123楼】 03024003 积分:141 派别: 等级:------ 来自: |
mark | ||
|
|
|
|
【124楼】 imzhujun 积分:18 派别: 等级:------ 来自: |
不知道楼主写SD成功没?
我的SD一直无法写入。搞得我头大~ |
||
|
|
|
|
【125楼】 imzhujun 积分:18 派别: 等级:------ 来自: |
找到无法写文件的原因了,无法写文件的朋友可以试试:
u8 SPI_ReadWriteByte(u8 TxData) { u8 i,RxData=0 ; while(SPI_I2S_GetFlagStatus(SPI1,SPI_I2S_FLAG_TXE)==RESET); SPI_I2S_SendData(SPI1,TxData); for(i=0;i<100;i++); //各位可以试试在这里加个延时 while(SPI_I2S_GetFlagStatus(SPI1,SPI_I2S_FLAG_RXNE)==RESET); RxData=SPI_I2S_ReceiveData(SPI1); return RxData ; } |
||
|
|
|
|
【126楼】 303539157 积分:2 派别: 等级:------ 来自: |
感谢58楼的lihui_mc ,其实他是我同学啊,哈哈,问题都解决了 | ||
|
|
|
|
【127楼】 shmily 积分:198 派别: 等级:------ 来自: |
mark | ||
|
|
|
|
【128楼】 wso75839840 积分:6 派别: 等级:------ 来自: |
回复【楼主位】ifree64
----------------------------------------------------------------------- 做个标记,以后学习 |
||
|
|
|
|
↑↑↑↑↑↑↑↑↑↑↑↑ 抱歉本贴的回复数太多,为了减轻网络流量,只显示帖子正文的前后各10个回复。本贴的正文内容中间隐藏了105个回复。你需要 点击此处 才能查看全部内容。 对为你带来的访问不便表示歉意。不过我们仍会坚持即使没有登录,仍能共享我们网站的所有资料。你没有 登录后就能消除这个访问上的不便(可增加到显示60个回复)。 如果你是新用户请先 注册。注册是免费的,并且手续简单只需要填写用户名与口令。 |
| 快速回复帖子主题:为STM32移植FATFS,读取SD卡上FAT12/16/32文件系统[Update:2008-9-25,11:52]【恢复】 |
| 你尚未登录,不能回复以上帖子。 |
| 论坛首页 -> STM32/STM8 技术讨论区 -> 为STM32移植FATFS,读取SD卡上FAT12/16/32文件系统[Update:2008-9-25,11:52]【恢复】 (属于论坛:STM32/8) | 跳转至: | 登录后才能发表新主题 |
| 任何建议或投诉,欢迎随时与我们联系。 ourDEV.cn 我们的电子开发网,友好交流气氛,乐于开源共享,“这里远比混乱的现实世界美好”。 | ||||
| 网站负责人: | 阿莫(armok),手机:13433056000,电邮:armok ourdev.cn(请将空格改成@) | |||
| 地址与电话: |
东莞市东城八一路同沙工业园内,0769-22298000,传真请按4 阿莫邮购门市与雕刻机展示厅:东莞市莞城区莞太路和生文具礼品批发市场A2018,A2035 杨小姐 13711915767 雕刻机的技术咨询、订单查询、生产进度,可查询:13600266008吴先生(雕刻机设计人员kaif_w) |
|||
| 声明: |
本网站由东莞科士通(Infostone)科技有限公司属下的阿莫电子邮购部提供独家赞助。 有正式的工商注册与网站备案。详情可到东莞工商局查询。 本网站(ourDEV.cn)原名称为ourAVR.com(我们的AVR),自2007-09-01起从专业的AVR网转成综合电子网站。 本网站系统由armok Using Oracle + Java/JSP + WebLogic + Linux 2001/12/20 -- 2007/09/13 本BBS所有代码均为原创,版权归 armok 所有。本网站自:2004-10-03,16:31:17 起开始运行。 |
|||
| 法律顾问: | 本网站尊重知识产权,自2007年08月15日起,魏龙律师担任ourDEV.cn(原ourAVR.com)常年法律顾问。 | |||