OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2115|回复: 4

文件系统实验下载例程出现问题

[复制链接]

40

主题

137

帖子

0

精华

高级会员

Rank: 4

积分
579
金钱
579
注册时间
2019-8-4
在线时间
187 小时
发表于 2019-12-13 14:55:15 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 taomao 于 2019-12-13 16:10 编辑

int main(void)
{         
         u32 total,free;
        u8 t=0;        
        u8 res=0;                        

        delay_init();                     //延时函数初始化         
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
        uart_init(115200);                 //串口初始化为115200
         usmart_dev.init(72);                //初始化USMART               
         LED_Init();                                          //初始化与LED连接的硬件接口
        KEY_Init();                                        //初始化按键
        LCD_Init();                                           //初始化LCD   
        W25QXX_Init();                                //初始化W25Q128
         my_mem_init(SRAMIN);                //初始化内部内存池
         POINT_COLOR=RED;                        //设置字体为红色
        LCD_ShowString(30,50,200,16,16,"ELITE STM32F103 ^_^");        
        LCD_ShowString(30,70,200,16,16,"FATFS TEST");        
        LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
        LCD_ShowString(30,110,200,16,16,"2015/1/20");
        LCD_ShowString(30,130,200,16,16,"Use USMART for test");   
        while(SD_Init())//检测不到SD卡
        {
                LCD_ShowString(30,150,200,16,16,"SD Card Error!");
                delay_ms(500);                                       
                LCD_ShowString(30,150,200,16,16,"Please Check! ");
                delay_ms(500);
                LED0=!LED0;//DS0闪烁
        }
         exfuns_init();                                                        //为fatfs相关变量申请内存                                 
          f_mount(fs[0],"0:",1);                                         //挂载SD卡
         res=f_mount(fs[1],"1:",1);                                 //挂载FLASH.        
        if(res==0X0D)//FLASH磁盘,FAT文件系统错误,重新格式化FLASH
        {
                LCD_ShowString(30,150,200,16,16,"Flash Disk Formatting...");        //格式化FLASH
                res=f_mkfs("1:",1,4096);//格式化FLASH,1,盘符;1,不需要引导区,8个扇区为1个簇
                if(res==0)
                {
                        f_setlabel((const TCHAR *)"1:ALIENTEK");        //设置Flash磁盘的名字为:ALIENTEK
                        LCD_ShowString(30,150,200,16,16,"Flash Disk Format Finish");        //格式化完成
                }else LCD_ShowString(30,150,200,16,16,"Flash Disk Format Error ");        //格式化失败
                delay_ms(1000);
        }                                                                                                            
        LCD_Fill(30,150,240,150+16,WHITE);                //清除显示                          
        while(exf_getfree("0",&total,&free))        //得到SD卡的总容量和剩余容量
        {
                LCD_ShowString(30,150,200,16,16,"SD Card Fatfs Error!");程序卡死在这里,液晶显示屏显示这串字符
                delay_ms(200);
                LCD_Fill(30,150,240,150+16,WHITE);        //清除显示                          
                delay_ms(200);
                LED0=!LED0;//DS0闪烁
        }                                                                                                                                      
         POINT_COLOR=BLUE;//设置字体为蓝色           
        LCD_ShowString(30,150,200,16,16,"FATFS OK!");         
        LCD_ShowString(30,170,200,16,16,"SD Total Size:     MB");         
        LCD_ShowString(30,190,200,16,16,"SD  Free Size:     MB");            
         LCD_ShowNum(30+8*14,170,total>>10,5,16);                                //显示SD卡总容量 MB
         LCD_ShowNum(30+8*14,190,free>>10,5,16);                                        //显示SD卡剩余容量 MB                           
        while(1)
        {
                t++;
                delay_ms(200);                                            
                LED0=!LED0;
        }
}
我直接下的例程,插了8GBSD卡,正点原子淘宝官方店买的,原子哥,是还要做些什么吗

串口接收这个

串口接收这个

最佳答案

查看完整内容[请看2#楼]

SD卡连接到电脑上,鼠标右键格式化为fat32格式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

21

主题

2205

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5140
金钱
5140
注册时间
2014-8-26
在线时间
1317 小时
发表于 2019-12-13 14:55:16 | 显示全部楼层
SD卡连接到电脑上,鼠标右键格式化为fat32格式
回复

使用道具 举报

21

主题

2205

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5140
金钱
5140
注册时间
2014-8-26
在线时间
1317 小时
发表于 2019-12-13 16:11:19 | 显示全部楼层
SD卡重新格式化一下试试
回复

使用道具 举报

40

主题

137

帖子

0

精华

高级会员

Rank: 4

积分
579
金钱
579
注册时间
2019-8-4
在线时间
187 小时
 楼主| 发表于 2019-12-14 11:21:17 | 显示全部楼层
login_FAE 发表于 2019-12-13 16:11
SD卡重新格式化一下试试

怎么格式化,刚学,第一步就卡死了,求指点
是调用这个函数吗,res=f_mkfs("1:",1,4096);
回复

使用道具 举报

40

主题

137

帖子

0

精华

高级会员

Rank: 4

积分
579
金钱
579
注册时间
2019-8-4
在线时间
187 小时
 楼主| 发表于 2019-12-14 16:38:13 | 显示全部楼层
我加了条代码f_mkfs("0:",1,4096*2048),这样也被我搞好了,因为一簇8扇区,就是4K,8G/4K=4096*2048
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-22 01:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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