main.c

来自「Atmega64单片机程序(完整工程)」· C语言 代码 · 共 147 行

C
147
字号
#include "SYS_Config.h"
#include "GUI_Config.h"
#include "FS_Config.h"
#include "time.h"
#include "KeyScan.h"

#include "SD_Config.h"

#include "GUI.h"
#include "Picture.h"

#include "SD_EEPROM.h"
#include "SD_Drive.h"
#include "USART1.h"
#include "TEST_SD.h"

#include "fat.h"

INT8U Data_Buf[SD_BLOCKSIZE];
INT8U WritFileData[]="File system test!!!\n";

//注明:堆在设为64,设为32会出现硬件堆在溢出的情况!!!
extern void MenuMainLoop(void);
//编译时间
extern void DispBuildTime(void);

void _StackOverflowed(char c)
{
   if (c == 1)
       Uart1_SendString("\ntrashed HW stack\n");
   else
       Uart1_SendString("\ntrashed SW stack\n");
}


HANDLE FHandle;//文件系统句柄
void main(void)
{
    INT8U i;
	
    GUI_Delay(500);//等待系统稳定,再作初始化

    CLI();//关中断,对模块函数进行初始化
	timer0_init();
	timer2_init();
	
    #if USART1_EN
        Uart1_Init();
    #endif
    
    #if (USART1_EN==1&&SD_MMC_TEST_EN==1)
        Test_SD_Initialize();   //SD卡初始化(带串口输出功能)
    #else
        SD_Initialize();
    #endif
    
    GUI_Init();
	//编译时间
    DispBuildTime();
	GUI_Delay(10000);
    
    SEI();//开中断 
    
	//GUI_Display_Image(PIC_FAT);
    
    #if SD_MMC_TEST_EN
        SD_MMC_TEST();          //测试SD卡各项功能函数,正常使用时使SD_MMC_TEST_EN=0
    #endif
     
    DiskInit();                 //初始化磁盘管理模块
    AddFileDriver( SD_Command );//加载SD卡驱动程序
    FileInit();
       
    Uart1_SendString("\n\nMakeDir:");    
    MakeDir("a:\\蒋金雄");
    
    //Uart1_SendString("\n\nFileOpen_W:");    
    //FHandle = FileOpen("a:\\蒋金雄\\JJX.txt","w");
    
    //Uart1_SendString("\n\nFileWrite:");    
    //FileWrite(WritFileData,sizeof(WritFileData), FHandle);
    
    //Uart1_SendString("\n\nFileClose:");    
    //FileClose(FHandle);
    
    Uart1_SendString("\n\nFileOpen:");    
    FHandle = FileOpen("a:\\蒋金雄\\JJX.txt","r");
    
    Uart1_SendString("\n\nFileRead:");    
    FileRead(Data_Buf,512,FHandle);
    
    Uart1_SendString("\n\nFileClose:"); 
    FileClose(FHandle);
    
    Uart1_SendString("\n\nOUTPUT:");  
    Uart1_SendString(Data_Buf);    


    AllCacheWriteBack();
    RemoveFileDriver(0);
    
    while(1)
    {
       _StackCheck();//堆在检查函数
       
	   MenuMainLoop();
	/*   
       GUITextMode=GUI_TEXTMODE_NORMAL;  
       GUI_DispStringAt("WELCOM",40,0);
       //GUI_Delay(10000);
       //GUI_Clear();
       
        
	   for(i=0;i<100;i++) 
       {
	       GUITextMode=GUI_TEXTMODE_UNDERLINE;
		   GUI_DispStringAt("超声波jjx",i,32);
		   
           GUI_Delay(750);
	   }
	   
	   
       GUI_Clear();

       //GUI_Display_Image(logo);
       GUI_Delay(10000);
       GUI_Clear();   
       
       //GUI_DrawIcon(Menu,30,20);
       GUI_Delay(10000);
       GUI_Clear();
	   
	   GUI_Circle(40,30,25,0xff);
	   GUI_Delay(10000);
       GUI_Clear();
	   
	   GUI_Circle(40,30,25,0x55);
	   GUI_Delay(10000);
       GUI_Clear();
	 */  
    } 
}




⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?