OpenEdv-开源电子网

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

原子哥的例程 文件系统 申请内存时有疑问

[复制链接]

10

主题

22

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2018-3-9
在线时间
28 小时
发表于 2018-4-18 11:22:46 | 显示全部楼层 |阅读模式
1金钱
FIL fil;
FRESULT res;
UINT bww;
char buf[100];
int main(void)
{         
        u32 total,free;
        u8 t=0;       
        u8 res=0;                        

        delay_init();                     //Ñóê±oˉêy3õê¼»ˉ          
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//éèÖÃÖD¶ÏóÅÏè¼¶·Ö×éÎa×é2£o2λÇàÕ¼óÅÏè¼¶£¬2λÏìó|óÅÏè¼¶
        uart_init(115200);                 //′®¿ú3õê¼»ˉÎa115200
        usmart_dev.init(72);                //3õê¼»ˉUSMART               
        LED_Init();                                          //3õê¼»ˉóëLEDᬽóμÄó2¼t½ó¿ú
        KEY_Init();                                        //3õê¼»ˉ°′¼ü
        LCD_Init();                                           //3õê¼»ˉLCD   
        W25QXX_Init();                                //3õê¼»ˉW25Q128
        my_mem_init(SRAMIN);                //3õê¼»ˉÄú2¿Äú′æ3Ø
        POINT_COLOR=RED;                        //éèÖÃ×ÖìåÎaoìé«
        LCD_ShowString(30,50,200,16,16,"WarShip STM32");       
        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())//¼ì2a2»μ½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();                                                        //ÎafatfsÏà1رäá¿éêÇëÄú′æ                                 
          f_mount(fs[0],"0:",1);                                         //1òÔØSD¿¨
        res=f_mount(fs[1],"1:",1);                                 //1òÔØFLASH.       

截了一点图。就是原子哥最开头定义的
FIL fil;
FRESULT res;
UINT bww;
char buf[100];  这些东西。但是这些变量都没有给申请静态内存啊。我点开exfuns_init();         这个函数,发现原子哥是给其他的变量分配的静态内存。但是文件系统依旧可以运行,这是不是说明不分配内存也可以用。既然这样,为什么还要分配静态内存啊



最佳答案

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

FIL fil; FRESULT res; UINT bww; char buf[100]; 这些定义的不是指针,不是指针就不需要申请内存!!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-4-18 11:22:47 | 显示全部楼层
FIL fil;
FRESULT res;
UINT bww;
char buf[100];
这些定义的不是指针,不是指针就不需要申请内存!!
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-19 00:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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