120 lines
2.7 KiB
C
120 lines
2.7 KiB
C
#include "sys.h"
|
||
#include "delay.h"
|
||
#include "usart.h"
|
||
#include "led.h"
|
||
#include "key.h"
|
||
|
||
#include "LCD.h"
|
||
#include "Dis_Picture.h"
|
||
#include "Text.h"
|
||
#include "GBK_LibDrive.h"
|
||
|
||
#include "mpu.h"
|
||
#include "malloc.h"
|
||
#include "w25qxx.h"
|
||
#include "sdmmc_sdcard.h"
|
||
|
||
|
||
#include "ff.h"
|
||
#include "exfuns.h"
|
||
|
||
/****************************************************************/
|
||
//FATFS 实验
|
||
|
||
|
||
//STM32H7工程模板-HAL库函数版本
|
||
//DevEBox 大越创新
|
||
//淘宝店铺:mcudev.taobao.com
|
||
//淘宝店铺:shop389957290.taobao.com
|
||
/****************************************************************/
|
||
|
||
|
||
u8 tbuf[32];
|
||
|
||
|
||
int main(void)
|
||
{
|
||
|
||
u32 total,free;
|
||
u8 t=0;
|
||
u8 res=0;
|
||
|
||
Cache_Enable(); //打开L1-Cache
|
||
HAL_Init(); //初始化HAL库
|
||
Stm32_Clock_Init(160,5,2,4); //设置时钟,400Mhz
|
||
delay_init(400); //延时初始化
|
||
uart_init(115200); //串口初始化
|
||
|
||
LED_Init(); //初始化LED
|
||
KEY_Init(); //初始化按键
|
||
|
||
LCD_Init(); //初始化2.0寸 240x320 高清屏 LCD显示
|
||
GBK_Lib_Init(); //硬件GBK字库初始化--(如果使用不带字库的液晶屏版本,此处可以屏蔽,不做字库初始化)
|
||
LCD_Clear(WHITE); //清屏
|
||
|
||
// W25QXX_Init(); //初始化W25Q256
|
||
my_mem_init(SRAMIN); //初始化内部内存池(AXI)
|
||
//my_mem_init(SRAMEX); //初始化外部内存池(SDRAM)
|
||
// my_mem_init(SRAM12); //初始化SRAM12内存池(SRAM1+SRAM2)
|
||
// my_mem_init(SRAM4); //初始化SRAM4内存池(SRAM4)
|
||
// my_mem_init(SRAMDTCM); //初始化DTCM内存池(DTCM)
|
||
// my_mem_init(SRAMITCM); //初始化ITCM内存池(ITCM)
|
||
|
||
Draw_Font16B(16,16,RED," STM32H7 FATFS ");
|
||
Draw_Font16B(16,32,BLUE," 嵌入式开发网 ");
|
||
Draw_Font16B(16,48,BLUE,"mcudev.taobao.com");
|
||
|
||
|
||
|
||
|
||
while(SD_Init())//检测不到SD卡
|
||
{
|
||
Draw_Font16B(16,90,RED,"SD Card Error!");
|
||
delay_ms(500);
|
||
Draw_Font16B(16,90,RED,"Please Check! ");
|
||
delay_ms(500);
|
||
LED2_Toggle;//D2闪烁
|
||
}
|
||
|
||
|
||
//FTL_Init(); //NAND FLASH FTL层算法代码
|
||
|
||
//fatfs文件系统配置,去掉了对中文路径的支持,由于对路径识别的关键字符占用太多空间,暂时屏蔽,只支持英文目录路径
|
||
|
||
exfuns_init(); //为fatfs相关变量申请内存
|
||
|
||
f_mount(fs[0],"0:",1); //挂载SD卡
|
||
|
||
|
||
while(exf_getfree("0",&total,&free)) //得到SD卡的总容量和剩余容量
|
||
{
|
||
Draw_Font16B(16,90,BLUE,"SD Card Fatfs Error!");
|
||
delay_ms(200);
|
||
LCD_Fill(30,150,240,150+16,WHITE); //清除显示
|
||
delay_ms(200);
|
||
LED2_Toggle;//DS0闪烁
|
||
}
|
||
|
||
|
||
|
||
Draw_Font16B(16,110,BLUE,"FATFS OK!");
|
||
|
||
sprintf((char*)tbuf,"SD Total Size: %u MB",total>>10); //显示无符号十进制整数
|
||
|
||
Draw_Font16B(16,110,BLUE,tbuf); //显示SD卡总容量 MB
|
||
|
||
sprintf((char*)tbuf,"SD Free Size: %u MB",free>>10); //显示无符号十进制整数
|
||
|
||
Draw_Font16B(16,130,BLUE,tbuf); //显示SD卡剩余容量 MB
|
||
|
||
|
||
|
||
while(1)
|
||
{
|
||
t++;
|
||
delay_ms(200);
|
||
LED2_Toggle;//DS0闪烁
|
||
}
|
||
}
|
||
|