⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 Main Program using in ARM PlatForm
💻 C
字号:
#include "Main.h"
#include "system.h"
#include "Es_Command.h"
#include <stdlib.h>
#include <stdio.h>
#include <rt_heap.h>
#include "LCMShow.h"
#include "appTask.h"
//#include "lcm.h"
#include "touch_screen.h"
extern system_type gsystem;
extern void Run_Es_Command(void);
extern void System_ini(void);
extern void Login(void);
extern void send_ip_config_command(WORD no);
extern void Send_TS2A_Login(void);                 //检测教师软件
extern U32 framcount;
extern  TIMER_TYPE timer;
extern U32 config_time;
//extern void LED_DISPLAY(WORD no,WORD DATA);
//extern void set_led_display_type(WORD no, WORD type, WORD mark);
extern  void send_recoder(void);
extern void Flash_led_gr(WORD no);
extern void sound_delay_scan(void);
extern void flash_power_led(void);
extern void mp3DecodLoop(void);
extern void mp3DecodInit(void);
extern void InitPlayer(void);
extern int Read_key( void );
extern void keyboard( int keyVal );
int g_key_val;
//int flag_key = 0;
//extern int timer_count;
extern int g_bUpdateing;
extern int g_bUpdateSend;
extern void UpdateDeal(int nType);
extern int g_spStatus;
extern void WaveSpeedInit(void);// 22050samplerate 2Channel 16bit
extern int touch_key;
extern void InitkeySound( void );
extern void keysound(int nSound);
//extern char * GetCurrentTimeString( void );// 显示当前播放时间

// 只有播放器已经开始播放了,调用才有效
//如果是返回是NULL(MP3播放情况下),要等待一下,才从新获取
//extern char * GetTotalTimeString( void );
extern void PlayTimeDisplay( void );
extern void tftploop(void);
extern unsigned int g_unAppTaskMark;//按位标记是否有任务 
extern void 	  DealAppTask(void );	
/*****************************************************************************
函数---
功能--
入口参数--
返回参数--
******************************************************************************/
/*//注意需要移植的时候有几个关键性的地方:
0.sdram 的配置sdramconfig.s又是不是正确的。
1.模式堆栈的起始位置EbootStackStart  ^    0x10000(STARTUP.S末行)
2、网络TX RX STATUS DESCRIPTOR QUEUE 的位置ULONG g_CurrVirMemAddr=0x00100000;(main.h)
3、音频TX.RX 的缓存位置,
4.updates=(BYTE*)malloc(1024*128); 检查升级代码的SDRAM缓存位置又没有错误(不在有效物理地址)
0x00000000-0x007f,ffff--8Mb
 
0x00000000-0x001f,ffff--2MB
0x04000000-0x041f,ffff--2MB
0x08000000-0x081f,ffff--2MB
0x0c000000-0x0c1f,ffff--2MB
*/
void   EbootMain(void)
{	
int keyVal=0;
	int type = 0;

//__packed  U32  tmp_l;
 	framcount=0; 
 	g_bUpdateing = 0;
 	g_bUpdateSend = 0;
 	g_spStatus = 0;
 	g_RecvDBInfo = FALSE;
 	g_bKeyEnable = FALSE;
 	g_unAppTaskMark = 0;
 	/// 光标位置初始化
	//g_iFlashX = 0;
	//g_iFlashY = 0;
 	
 	//tmp_l=0; 
 	
	uprintf("Run main\n");
	*WATCHDOG_WDCONTROL=0x5555;
	//_init_alloc(0x300000,0x400000);
	mp3DecodInit();
	WaveSpeedInit();// 22050samplerate 2Channel 16bit
	InitPlayer();
	InitkeySound();
	System_ini();
	
	//////////////////////////////////////////////////////////////
 	Init_LCM();
 	ShowTest();
 	//LCD_Display_Mem("我们是一个大好人是啊e\r\n\r\nabcd");
 	//LCD_Updata();

 	
	
    touch_key = 0;
	
	///////////////////////////////////////////////////////////////
	uprintf("Run command");
        
         flash_power_led(); 
          keysound(0);// sound key play test
      //   flag_key = 0; 
    timer.time3_count=0;
    while(1)
    {    	 
      Run_Es_Command();  
      if( g_RecvDBInfo )
      {
     	 g_RecvDBInfo = FALSE;
     	 break;
      }
      if (timer.time3_count>500)
      {
      	 //Login();
      	 Send_ST2TS_Login();
      	 break;
      }
    }    
uprintf("main loop");
      //   timer_count = 0;
     PlayTT();//open TT channel
	while(1) 
	{  
	   mp3DecodLoop();
	   Run_Es_Command();
	   send_recoder();
	   	keyVal = Get_Key();
		if(keyVal)
		{
		//sprintf(buf,"k=%d",keyVal);
		//uprintf(buf);
		keyboard(keyVal);
		}
		tftploop();
	  // g_key_val = Read_key();
	 //  if(g_key_val != 0)
	   //	keyboard(g_key_val);
	   if(g_bUpdateSend != 0)
	   {	
	   	type = g_bUpdateSend;
	   	g_bUpdateSend = 0;
	   		//ReSendUpdatePack();
	   		UpdateDeal(type);
	   }	
	   if (timer.time3_count>500)
	   	{timer.time3_count=0;
	  Flash_led_gr(2);  
	  ShowLCD_Cursor();		/// 光标闪烁  
	  if(g_unAppTaskMark)
	  DealAppTask();	
		//uprintf("U10");	
		sound_delay_scan();

		PlayTimeDisplay();
		//flash_power_led();
		if (config_time>0)
			config_time--;

	         }
		  
	
          };

}
	


		

⌨️ 快捷键说明

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