本帖最后由 qiangtech 于 2020-11-28 15:28 编辑
收到开发板后,就想做一个像LINUX控制台那样通过命令行过控制MMC卡的。经过几天的慢慢调试,总算有了一个趋形。
第一步,移植FATFS文件系统。去FATFS官网下载了一个最新版的源码。
解压后加入到工程里面,修改diskio.c和ffconf.h这两个文件就可以了。我这里直接使用了 @740071911 在论坛上发出的MMC卡底层驱动。让diskio.c直接对接到底壳驱动上。
diskio.c和ffconf.h都做了一些修改。但是长文件名没有做处理,所以在读写长文件名的文件时,会有一些问题。文后附件,有需要的可以下载参考。
主文件中包含ff.h,然后就可以通过FATFS操作MMC卡了。
第二步,接收串口命令来操作MMC卡。
先调通一个串口来接收。本打算就用PRINTF的串口1的,做好后却发现怎么也接收不到。拔开WCH-LINK与板子的连接,在WCH-LINK上用逻辑仪能测到UART信号,但是连上开发板后,就测不到信号了。是不是板子上还有个MAX3232的原因?后面改用在UART3,就可以正常接收了。
调试的时候还发现,图上的这个声明不能省。省掉的话只能接收到一个字符,后面的全接收不到了?这个决窍是什么?
接收到字符后,把字符分解成命令和参数。就可以对MMC卡进行一些操作了
现在还只是对cd和ls命令做了一点处理。
只是能够运行,长文件名也没处理,还需要进一步完善。
fatfs.rar
(5.54 KB)
|