?? main.c
字號(hào):
#include "stm32f10x_lib.h"
#include"COMM.H"
#include "delay.h"
#include "sys.h"
#include "usart.h"
//顯示系統(tǒng)信息
void Sys_Info(void)
{
u32 sd_size=0;
sd_size=SD_GetCapacity();
Load_StratUp_Gui();
POINT_COLOR=BLACK;
Show_Str(4,68," 處理器 :STM32F103RBT6",0x01);
Show_Str(4,100,"系統(tǒng)內(nèi)存:20KB",0x01);
Show_Str(4,132,"系統(tǒng)閃存:128KB",0x01);
Show_Str(4,164,"軟件版本:V1.0",0x01);
Show_Str(4,196,"SD卡類型:",0x01);
Show_Str(4,228,"SD卡容量: Mb",0x01);
TFT_ShowNum(76,228,sd_size>>20,4,16,0x01);
//printf("sd_size:%d\n",sd_size);
if(FAT32_Enable)Show_Str(4,260,"文件系統(tǒng):FAT32",0x01);
else Show_Str(4,260,"文件系統(tǒng):FAT16",0x01);
Show_Str(4,292," 設(shè)計(jì)者 :劉軍",0x01);
switch(SD_Type)
{
case 0:Show_Str(76,196,"MMC卡",0x01);;break;
case 1:Show_Str(76,196,"V1類SD卡",0x01);;break;
case 2:Show_Str(76,196,"V2類SD卡",0x01);;break;
case 4:Show_Str(76,196,"超高速SD卡",0x01);;break;
}
while(NPEN==0);//等待按鍵退出
}
//主函數(shù)
int main(void)
{
u32 index=0;
u8 t;
////////////////////////////////////////////////////////////////////////////
//硬件初始化
Stm32_Clock_Init();//時(shí)鐘配置
delay_init(72); //延時(shí)配置
uart_init(); //初始化串口
TFT_Init(); //初始化TFTLCD
init1820(); //初始化溫度傳感器
Vs1003_Init();//初始化VS1003的IO口
Mp3Reset(); //復(fù)位VS1003
IIC_Init(); //IIC總線初始化
rtc_init(); //初始化實(shí)時(shí)時(shí)鐘
touch_init(); //觸摸屏初始化
Alarm_Init(); //鬧鐘初始化
SD_Init(); //初始化SD卡
RGBLED_Init();//RGB彩燈初始化
////////////////////////////////////////////////////////////////////////////
//初始化文件系統(tǒng)
while(FAT_Init())
{
TFT_ShowString(56,120,"FAT Init Failed!");//SD FAIL
TFT_ShowString(56,136,"Plesase Check...");//等待插入SD卡
delay_ms(100);
SD_Init();
}
//得到系統(tǒng)文件失敗
while(SysInfoGet(0x00)==0)
{
TFT_CLEAR(WHITE);//清屏
TFT_ShowString(50,120,"SYSTEM File LOST!");//SD FAIL
TFT_ShowString(56,136,"Plesase Check...");//等待插入SD卡
delay_ms(500);
while(FAT_Init())
{
TFT_ShowString(50,120," SD Card LOST! ");//SD FAIL
TFT_ShowString(56,136,"Plesase Check...");//SD FAIL
SD_Init();//重新初始化文件系統(tǒng)
delay_ms(500);
}
}
Sys_Info(); //顯示系統(tǒng)信息
////////////////////////////////////////////////////////////////////////////
//初始化音效
INITDSP=FM24C16_ReadOneByte(30);//調(diào)用DSP值
if(INITDSP>4)//未初始化,則初始化
{
INITDSP=0;
for(t=0;t<31;t++)FM24C16_WriteOneByte(t,0);//全部清空
}else read_dsp(); //已經(jīng)初始化過了 讀取DSP效果
////////////////////////////////////////////////////////////////////////////
//初始化系統(tǒng)結(jié)束,主循環(huán)開始
TFT_CLEAR(WHITE);//清屏
while (1)
{
Load_Sys_ICO();//加載系統(tǒng)主界面圖標(biāo)
index=0;
Select_Menu(0,0,1);//默認(rèn)選中第一個(gè)
Pen_Point.Key_Sta=Key_Up;//釋放顯示期間的觸發(fā)
t=0;
while(1) //不斷顯示
{
if((Pen_Point.Key_Sta==Key_Down||NPEN)&&Pen_Point.Key_LSta)t=Touch_To_Num(0);//得到按鍵值
if(PEN)//按鍵松開了,狀態(tài)改變(狀態(tài)機(jī))
{
Pen_Point.Key_LSta=1;
Pen_Point.Key_Sta=Key_Up;
}
if(t)
{
Pen_Point.Key_LSta=0;
Select_Menu(0,t-1,1);//選中這個(gè)
if(index!=t-1)Select_Menu(0,index,0);//取消上一次的
else //此次選擇和上次一樣,進(jìn)入該功能
{
switch(index)
{
case 0://音樂模式
TFT_CLEAR(WHITE);//清屏
Mus_Viewer();//音樂瀏覽
Load_Sys_ICO();//重新加載系統(tǒng)菜單
Select_Menu(0,index,1);//選中上次選中的
break;
case 1://瀏覽圖片
TFT_CLEAR(WHITE);//清屏
Pic_Viewer();//圖片瀏覽
Load_Sys_ICO();//重新加載系統(tǒng)菜單
Select_Menu(0,index,1);//選中上次選中的
break;
case 4: //時(shí)間模式
Time_Viewer();
Load_Sys_ICO();//重新加載系統(tǒng)菜單
Select_Menu(0,index,1);//選中上次選中的
break;
case 5: //設(shè)置模式
Set_Viewer();
Load_Sys_ICO();//重新加載系統(tǒng)菜單
Select_Menu(0,index,1);//選中上次選中的
break;
case 6://瀏覽TXT文件
TFT_CLEAR(WHITE);//清屏
Txt_Viewer();
Load_Sys_ICO();//重新加載系統(tǒng)菜單
Select_Menu(0,index,1);//選中上次選中的
break;
case 8:// 重新啟動(dòng)FAT
RGBLED_Play();
Load_Sys_ICO();//重新加載系統(tǒng)菜單
Select_Menu(0,index,1);//選中上次選中的
break;
//goto RESTART;
case 7://收音機(jī)模式
Radio_Play();
Load_Sys_ICO();//重新加載系統(tǒng)菜單
Select_Menu(0,index,1);//選中上次選中的
break;
case 2://游戲模式
Game_Play();
Load_Sys_ICO();//重新加載系統(tǒng)菜單
Select_Menu(0,index,1);//選中上次選中的
break;
case 3://鬧鐘模式
Alarm_Viewer();
Load_Sys_ICO();//重新加載系統(tǒng)菜單
Select_Menu(0,index,1);//選中上次選中的
break;
}
}
index=t-1;
t=0;
}
delay_ms(10);
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -