你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32+SDIO+FATFS实例

[复制链接]
yanghappy 发布时间:2011-3-11 22:25
阅读主题, 点击返回1楼
赞 收藏 2 评论641 发布时间:2011-3-11 22:25
641个回答
at-358233 回答时间:2012-10-15 20:59:14

RE:STM32+SDIO+FATFS实例

也不知道能用否,下来看看!
xinjitmzy-34588 回答时间:2012-10-16 11:13:56

回复:STM32+SDIO+FATFS实例

又是回复可见,学习一下
cangbai 回答时间:2012-10-16 22:29:55

RE:STM32+SDIO+FATFS实例

谢谢分享,学习一下
danny-395440 回答时间:2012-10-17 21:13:14

RE:STM32+SDIO+FATFS实例

STM32+SDIO+FATFS实例
QQ897956996 回答时间:2012-10-19 11:12:47

回复:STM32+SDIO+FATFS实例

 大师,我移植了FATFS到flash,发现格式化未成功(未移植文件系统时多扇区(n*512B)读写没问题,已经测试过),如何配置格式化函数呀:
- m. I1 U+ B. c% V 
& b/ }) _; F. i- W% z+ g#define _MAX_SS 512 /* 512, 1024, 2048 or 4096 */
; p6 v& b; a4 u' @/* Maximum sector size to be handled.  L; E* i* I$ |' U/ y0 {+ x
/  Always set 512 for memory card and hard disk but a larger value may be# W* _, D. l9 Y4 ?( z1 B7 z5 ~% G
/  required for floppy disk (512/1024) and optical disk (512/2048).; k9 L( Z5 L( D
/  When _MAX_SS is larger than 512, GET_SECTOR_SIZE command must be implememted
% P; Q7 L0 P) t  r4 C9 f/  to the disk_ioctl function. */
; \' Q8 Z" P2 @5 N0 a 
) P0 v7 V% A  \ 1 b( ]  _$ ]3 i: v+ r0 ]
/*-----------------------------------------------------------------------*/6 O1 I9 P  V  r: ]1 N6 u; f
/* Miscellaneous Functions                                               */
+ ]3 Z9 j1 i( m3 g! m: \ 5 k) \; M0 x' ^, F8 ]
DRESULT disk_ioctl( 
6 [$ N" X: Y& Y. J% ]0 K% w9 B                      BYTE drv,             /* Physical drive nmuber (0..) */
4 }0 r* Q) O+ c7 {                      BYTE ctrl,            /* Control code */- z7 |! Z/ w  z+ Q
                      void *buff            /* Buffer to send/receive control data */
( m1 d) a" V6 L                  )
9 C2 `- L1 K6 X{
9 L0 A" `8 S6 B2 d5 n% e    DRESULT res = RES_OK;
* q  E4 @' y7 s7 e2 Y0 c2 i( C) \    //DWORD result;
  ~7 ^0 y+ F7 c    if (drv)( w  a# h# p6 R
    { 
+ @! x  Y, S- s; l( Y' L        return RES_ERROR;0 @: T. q3 e% W) P0 r
    }0 u1 k. J$ z9 j
    6 `1 t5 ]# H) h
    switch (ctrl)) K- [7 z/ `+ l, v7 A
    { 
0 B- k# Z6 v$ @" e" \# E        case CTRL_SYNC:
8 g* }% t0 i- l; B, A8 j# _                           break;1 V) g- R$ z9 W8 |! z+ P* `- A
        case GET_SECTOR_COUNT:
  g6 L. b+ ]0 W. ]3 L        
* }* W9 l$ w% M                           *(DWORD*)buff = (DWORD) 4096;
# R* ]0 \9 z  ]) B# d# p, ]                           break;                           //2M byte
: f: q- w, h7 G+ e( N# {                           ' G8 m( Q7 y: a2 L1 Y; @
        case GET_SECTOR_SIZE:
8 p: a' B6 m, ^' S" P) s* S                           
! S( K1 [: E0 g3 a+ w  s                           //*(DWORD*)buff = (DWORD) 2048;  //>512时从这里获得扇区大小
6 S; n+ q: |8 s0 y- F4 L6 u                           break;  
: ]4 B: H0 e$ P* ^% }& W                                                           //单扇区字节数
) k  f* O; R- X% o+ r        case GET_BLOCK_SIZE:& k: k2 H% T, c1 c+ V
                           % r0 q1 D6 h; W( y$ m  w% P
                           *(DWORD*)buff = (DWORD) 4096;
* v$ L" z7 J4 a. N                           break;                          //族大小  
1 ~0 W. A5 j, ~2 z8 X( _/ w                           1 N1 p1 F$ n, Q( i
        case CTRL_POWER :
. `" o" h% M/ ?4 H( u/ ]                  break;* R  j; ^8 `$ k5 e
   case CTRL_LOCK :' b) I( `! X% Z
                  break;# U+ ], D: ~( H3 w# F8 F+ y/ C. e0 [$ j
   case CTRL_EJECT :9 E- i: X' `0 T* q0 E0 Y
                  break;
+ g$ t, {+ `' O; p! K5 ?  U/ P        default:
9 r; M! Y3 a5 S. I1 `                           res = RES_ERROR;
) x, Y! U! }: w2 N: u% Z                           break;        
3 i) k7 L+ F8 @7 z+ r6 I  V. f    }' @: |3 c5 X3 v4 F. `
    return res;
; D# I) X; x5 ?/ A; D+ \! h}
! Q8 n2 S" m+ `% \  o, Z - d: p6 c  b* _
 
* e+ m5 x/ P4 w. o& q; ?int main(void): S* _9 [* H) w4 n3 k4 s+ x
{
% x1 n! g$ t/ c3 tUARTInit ();                    /* UARTInit               */
! t  E* w5 H3 W* ]; [9 ?        PINSEL0 = PINSEL0 & (~0x0F);    /* UART0,设置I/O连接到UART*/                         0 y2 Q7 u; r. l$ P$ }5 f6 i  D- u
        PINSEL0 = PINSEL0 | 0x05;       /* P0.0 = TXD0,P0.1 = RXD0*/   
9 U( F1 b! L+ t+ L- v    - G% M4 C2 a) [6 T0 S& B: P: {/ S5 A$ ?
UART0SendStr("\x0c\0");' p0 ]; i+ o/ O4 ?3 u4 i
UART0SendStr("\x0c\0");        //超级终端清屏' J5 ?5 X" M% k6 v2 I* `: u" K
UART0SendStr("\033[1;40;32m"); //设置超级终端背景为黑色,字符为绿色8 _% M( C9 j! u+ n
UART0SendStr("\r\n*******************************************************************************");
5 d1 u9 g0 b% u4 D, s" f& D, fUART0SendStr("\r\n*********************** Copyright 2012-10-10, liujiehan ***********************");$ E4 G* ~6 ^% Z4 d
UART0SendStr("\r\n************************** http://www.upcomputer.com **************************");
6 c- V: ~2 p7 z$ T) j. }UART0SendStr("\r\n***************************** All Rights Reserved *****************************");' N3 z. Z/ ]$ @( _4 J
UART0SendStr("\r\n*******************************************************************************");
; b3 I* M- U# a8 e4 U: wUART0SendStr("\r\n");: {* {. z8 |5 S( {
 , A; ?* e# H3 r: s9 r9 R4 m
/*初始化文件系统,检查芯片是否插入以及是否型号正确*/
3 J  W/ B1 A7 Q7 ~- o, tres = disk_initialize(NORFLASH);
# w1 q& v( ?. t' m/ j8 G/ E, Kif(res == RES_OK)
! e2 I5 E3 H' |) y5 k{
/ p& q9 v' R. L- ]( t- }/ S   UART0SendStr("initialize filesystem successed!\n\r\n\r");: r+ a4 g7 s# E& I( K
}% Y- r! G- l* ^+ k8 s) q
else
, \7 m; s, F9 c; B0 k% E6 l4 A; V0 g{" S7 C! f" Q. Z* L5 h$ |4 b! N
   UART0SendStr("initialize filesystem failed!\n\r\n\r");  
8 q) c6 {+ }" k; u$ u}
( P6 C1 Q. F: N& b, Q/*挂载文件系统*/
# o# ^5 s: W- h$ mres = f_mount(NORFLASH,&fs);
7 S/ o* I4 `) w# S" P0 Q+ N& i% _if(res == RES_OK)
% D; Q1 ]8 ^6 S) }: N{
) H; l( a% b1 I$ i, B$ u* p# e$ k   UART0SendStr("mount filesystem successed!\n\r\n\r");
9 |( l+ _5 B) N7 q% S}4 T# O8 T% ?  S) R! R, k
else
2 C& s2 }0 c& Z' Y9 O) u0 |& r' _{
6 V7 D' L1 B( S4 l   UART0SendStr("mount filesystem failed!\n\r\n\r");  
& t5 o/ m% O/ A; \" {5 j* l}+ P, \7 G+ f  @/ r
/*格式化磁盘*/
" N. h6 }) h0 ]/ GUART0SendStr("正在格式化磁盘,请稍候...\n\r\n\r");
4 }; t1 ?( P) U1 u, x//res = f_mkfs(NORFLASH,1,4096);//4096:每簇占用字节数5 U  ?) J! r) _, |4 m+ a% _2 H
res = f_mkfs(NORFLASH,0,4096);//4096:每簇占用字节数# B" t6 ^: T* b6 d$ i7 h
if(res == RES_OK)) B' x$ F1 ~5 W; q
{) Y7 a/ J  y# d; b% w
UART0SendStr("format filesystem successed!\n\r");1 e$ D9 E) \% ^. _/ y
 
3 B+ |: E) S. e0 o0 q. z}
* T) \+ W! Y' n% v7 ~6 k' c2 `& `else
' p0 f. q7 I) `# n' f, E{
# ^1 g( @2 T% Y" l& o   UART0SendStr("format filesystem failed!\n\r");; v$ ^* o' j3 ]7 c& N
}
% w7 p9 C" ~% w+ _8 fres = f_mount(NORFLASH,NULL);
$ p  U* N* d7 j6 m2 a& M3 W/ K; ]4 }/////////////////////////////////////////////////////////////////////////////////////////////////
2 t; F" t( |8 O6 \res = f_mount(NORFLASH,&fs);( Q/ N$ s7 k2 x! Z! B5 b
 
1 I, D6 l, T" V4 Y$ @. F$ Z/*写文件测试*/( m( ], N! {5 K: P
UART0SendStr("write file test......\n\r");% N* Z( }; N, v* \
    res = f_open(&FileObject, "test.txt", FA_CREATE_ALWAYS | FA_WRITE);) J* |2 A6 X& y4 X! A' o
    。。。
' [6 T* w' Z# k}; }; [9 O% e6 U! m; a5 i
 
xyz_gg 回答时间:2012-10-23 16:52:23

回复:STM32+SDIO+FATFS实例


% n$ x, y* [8 S5 p0 J2 L8 |" \顶起!
xieyungui 回答时间:2012-10-31 12:40:28

回复:STM32+SDIO+FATFS实例

yyyy
lty822877 回答时间:2012-11-4 20:18:56

回复:STM32+SDIO+FATFS实例

谢谢楼主了!!!!!!!!!!!!!!!!!
gzhsauto 回答时间:2012-11-11 02:14:43

RE

学习一下:STM32+SDIO+FATFS实例
llhai 回答时间:2012-11-11 23:04:44

回复:STM32+SDIO+FATFS实例

及时雨啊,正需要这个
JakeWOO 回答时间:2012-11-13 15:01:09

回复:STM32+SDIO+FATFS实例

 快看看~~~
xiecailang 回答时间:2012-11-16 13:25:40

回复:STM32+SDIO+FATFS实例

项目刚好需要,学习中
sufengtyut 回答时间:2012-11-28 19:27:21

回复:STM32+SDIO+FATFS实例

 学习,遇到问题了
dare-399038 回答时间:2012-11-29 12:31:24

RE:STM32+SDIO+FATFS实例

wokankan
gpsyu 回答时间:2012-11-30 14:01:30

RE:STM32+SDIO+FATFS实例

好东西,正需要啊

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版