120 lines
2.7 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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闪烁
}
}