通过阅读FatFs源码发现,diskio.c文件中提供了4个接口函数(API):- extern int MMC_disk_status();
$ j4 B/ P) d0 W9 x8 o& j/ O. ~+ ^ - extern int MMC_disk_initialize();
4 G6 Y. ]* m$ e$ p: v - extern int MMC_disk_read(4 k! u( b+ J, x
- BYTE *buff, /* Data buffer to store read data */
* ?. p1 L- N- [/ c6 H; ` - DWORD sector, /* Sector address in LBA */; O& C/ a' r3 G# N, d
- UINT count /* Number of sectors to read */
5 e' q" s* C/ J r* l) }: C7 l% u - ); # _7 `5 R9 M, I: }7 Y" D
- extern int MMC_disk_write(0 [7 t' U- @7 a* Z# V- e9 E
- const BYTE *buff, /* Data buffer to store read data */2 N+ C7 l V* Q ?2 D
- DWORD sector, /* Sector address in LBA */% d. s! a0 A* V& I
- UINT count /* Number of sectors to read */
* Q, ?3 g7 y! e% \1 k0 E& a - );
复制代码 它只有一个框架,这个函数需要我们自己去实现它,你可以在diskio.c中实现,为了层次清晰,我新建了驱动层spi_sd.c文件,并实现了初始化。& P/ f: P1 K& {9 `4 n6 l
朋友们以后移植的时候只修改此文件即可,ff.c是不需要修改的哦~~·
) T3 q7 j6 k: y
; a f. b+ L7 m7 @
) H. i7 N! H4 O2 W @, }3 f. Z( s2 J
6 [8 m% A- ?0 w
4 W3 I4 J3 U, b2 T; e E+ g( W |