📄 main.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 + -