1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > (实验39)单片机 STM32F4学习笔记 代码讲解【FATFS实验】【正点原子】【原创】

(实验39)单片机 STM32F4学习笔记 代码讲解【FATFS实验】【正点原子】【原创】

时间:2018-07-22 19:42:08

相关推荐

(实验39)单片机 STM32F4学习笔记 代码讲解【FATFS实验】【正点原子】【原创】

文章目录

其它文章链接,独家吐血整理实验现象主程序FATFS初始化程序代码讲解

其它文章链接,独家吐血整理

(实验3)单片机,STM32F4学习笔记,代码讲解【按键输入实验】【正点原子】【原创】

(实验4)单片机,STM32F4学习笔记,代码讲解【串口实验】【正点原子】【原创】

(实验5)单片机,STM32F4学习笔记,代码讲解【外部中断实验】【正点原子】【原创】

(实验6,实验7)单片机,STM32F4学习笔记,代码讲解【看门狗实验】【正点原子】【原创】

(实验8)单片机,STM32F4学习笔记,代码讲解【定时器实验】【正点原子】【原创】

(实验9)单片机,STM32F4学习笔记,代码讲解【PWM输出实验】【正点原子】【原创】

(实验10)单片机,STM32F4学习笔记,代码讲解【输入捕获实验】【正点原子】【原创】

(实验11)单片机,STM32F4学习笔记,代码讲解【电容触摸按键实验】【正点原子】【原创】

(实验12)单片机,STM32F4学习笔记,代码讲解【OLED显示实验】【正点原子】【原创】

(实验13)单片机,STM32F4学习笔记,代码讲解【TFTLCD彩屏显示实验】【正点原子】【原创】

(实验15)单片机,STM32F4学习笔记,代码讲解【RTC实时时钟实验】【正点原子】【原创】

(实验17)单片机,STM32F4学习笔记,代码讲解【待机唤醒实验】【正点原子】【原创】

(实验23)单片机,STM32F4学习笔记,代码讲解【DMA实验】【正点原子】【原创】

(实验25)单片机,STM32F4学习笔记,代码讲解【SPI实验】【正点原子】【原创】

(实验34)单片机,STM32F4学习笔记,代码讲解【FLASH模拟EEPROM实验】【正点原子】【原创】

(实验36)单片机,STM32F4学习笔记,代码讲解【外部SRAM实验】【正点原子】【原创】

(实验37)单片机,STM32F4学习笔记,代码讲解【内存管理实验】【正点原子】【原创】

(实验38)单片机,STM32F4学习笔记,代码讲解【SD卡实验】【正点原子】【原创】

(实验39)单片机,STM32F4学习笔记,代码讲解【FATFS实验】【正点原子】【原创】

(实验46)单片机,STM32F4学习笔记,代码讲解【FPU测试实验】【正点原子】【原创】

(实验47)单片机,STM32F4学习笔记,代码讲解【DSP-FFT测试实验】【正点原子】【原创】

(实验50)单片机,STM32F4学习笔记,代码讲解【串口IAP实验】【正点原子】【原创】

(实验50)单片机,STM32F4学习笔记,代码讲解【串口IAP实验-RTC时钟实验】【正点原子】【原创】

(实验55)单片机,STM32F4学习笔记,代码讲解【网络通信实验】【正点原子】【原创】

实验现象

本实验开机的时候先初始化SD卡,初始化成功之后,注册两个工作区(一个给SD卡用,一个给SPI FLASH用),然后获取SD卡的容量和剩余空间,并显示在LCD模块上,最后等待USMART输入指令进行各项测试。本实验通过DS0指示程序运行状态。

主程序

int main(void){u32 total,free;u8 t=0;u8 res=0;NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2delay_init(168); //初始化延时函数uart_init(115200);//初始化串口波特率为115200LED_Init();//初始化LED usmart_dev.init(84);//初始化USMARTLCD_Init();//LCD初始化 KEY_Init();//按键初始化 W25QXX_Init();//初始化W25Q128my_mem_init(SRAMIN);//初始化内部内存池 my_mem_init(SRAMCCM);//初始化CCM内存池POINT_COLOR=RED;//设置字体为红色 LCD_ShowString(30,50,200,16,16,"Explorer STM32F4");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,"/5/15"); 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...");//格式化FLASHres=f_mkfs("1:",1,4096);//格式化FLASH,1,盘符;1,不需要引导区,8个扇区为1个簇if(res==0){f_setlabel((const TCHAR *)"1:ALIENTEK");//设置Flash磁盘的名字为:ALIENTEKLCD_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卡总容量 MBLCD_ShowNum(30+8*14,190,free>>10,5,16);//显示SD卡剩余容量 MB while(1){t++; delay_ms(200); LED0=!LED0;}}

FATFS初始化程序

代码讲解

//FATFS==开源的FAT文件系统模块,可以移植到多种单片机平台

//应用层(调用API接口)-FARFS模块(中间层)-底层驱动(SD卡驱动,SD卡,RTC时钟)

//在使用FATAS的时候,必须先通过f_mount函数注册一个工作区,才能开始后续API使用

//这个实验不太好理解,具体还是看视频吧,等过年我回家去看,一定一定一定要好好学

//FATFS模块的所有配置项都是放在ffconf.h里面和integer.h里面,具体步骤开发指南

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。