📄 key_task.c
字号:
//key_task.c
#include "config.h" /* system configuration */
#include "lib_mcu\clock\clock.h" /* clock definition */
#include "lib_mcu\kbd\key_drv.h"
#include "modules\song\song_drv.h" /* song driver definition */
#include "lib_mcu\remote\remote_drv.h"
Byte key_mode;
Byte key_mode_last;
extern Byte song_sound; /* save the selected sound */
extern bit gl_key_press; /* TRUE when a key is decoded */
extern Byte gl_key; /* value of the key pressed */
extern bit gl_rmt_ok;
////////////////////////////////////////////////////////////////////////////////
void key_song_task_init(void)
{
key_mode_last =0xff;
key_mode = MP3_PLAY_MODE;
gl_key_press = 0;
}
////////////////////////////////////////////////////////////////////////////////
void key_cdrom_task_init(void)
{
gl_key_press = 0;
}
////////////////////////////////////////////////////////////////////////////////
void key_cdrom_task(void)
{
INT8U u8KeyCode;
u8KeyCode = kbd_decode();
if(0 == u8KeyCode)
{
u8KeyCode = remote_value();
switch(u8KeyCode)
{
case REMOTE_1:
case REMOTE_2:
case REMOTE_3:
case REMOTE_4:
case REMOTE_5:
case REMOTE_6:
case REMOTE_7:
case REMOTE_8:
case REMOTE_9:
gl_key_press = TRUE;
gl_key = u8KeyCode;
break;
case REMOTE_CHUP:
gl_key_press = TRUE;
gl_key = KEY_NEXT;
break;
case REMOTE_CHDN:
gl_key_press = TRUE;
gl_key = KEY_PREV;
break;
case REMOTE_MUTE:
gl_key_press = TRUE;
gl_key = KEY_PLAY;
break;
case REMOTE_POWN:
gl_key_press = TRUE;
gl_key = KEY_OPEN;
break;
case REMOTE_VOUP:
gl_key_press = TRUE;
gl_key = KEY_INC;
break;
case REMOTE_VODN:
gl_key_press = TRUE;
gl_key = KEY_DEC;
break;
}
gl_rmt_ok = 0;
return;
}
switch(u8KeyCode)
{
case KEY_0:
gl_key_press = TRUE;
gl_key = KEY_PLAY;
break;
case KEY_1:
gl_key_press = TRUE;
gl_key = KEY_OPEN;
break;
case KEY_2:
gl_key_press = TRUE;
gl_key = KEY_PREV;
break;
case KEY_3:
gl_key_press = TRUE;
gl_key = KEY_NEXT;
break;
default:
gl_key_press = FALSE;
break;
}
}
////////////////////////////////////////////////////////////////////////////////
void key_song_task(void)
{
INT8U u8KeyCode;
////////////////key board detect///////////////
u8KeyCode = kbd_decode();
////////////////remote detect//////////////////
if(0 == u8KeyCode)
{
u8KeyCode = remote_value();
switch(u8KeyCode)
{
case REMOTE_MUTE:
u8KeyCode = KEY_0;
break;
case REMOTE_VOUP:
u8KeyCode = KEY_1;
break;
case REMOTE_CHUP:
u8KeyCode = KEY_3;
break;
case REMOTE_CHDN:
u8KeyCode = KEY_2;
break;
default:
break;
}
gl_rmt_ok = 0;
}
switch(key_mode)
{
//-------------------------------------------------------------------------
case MP3_PLAY_MODE:
switch(u8KeyCode)
{
case KEY_0:
gl_key_press = TRUE;
gl_key = KEY_PLAY;
break;
case KEY_1:
gl_key_press = TRUE;
gl_key = KEY_MODE;
key_mode = MP3_VOL_MODE;
song_sound = SND_VOLUME;
break;
case KEY_2:
gl_key_press = TRUE;
gl_key = KEY_PREV;
break;
case KEY_3:
gl_key_press = TRUE;
gl_key = KEY_NEXT;
break;
default:
gl_key_press = FALSE;
break;
}
break;
//-------------------------------------------------------------------------
case MP3_VOL_MODE:
switch(u8KeyCode)
{
case KEY_0:
gl_key_press = TRUE;
gl_key = KEY_PLAY;
break;
case KEY_1:
gl_key_press = TRUE;
gl_key = KEY_MODE;
key_mode = MP3_BASS_MODE;
song_sound = SND_BASS;
break;
case KEY_2:
gl_key_press = TRUE;
gl_key = KEY_DEC;
break;
case KEY_3:
gl_key_press = TRUE;
gl_key = KEY_INC;
break;
default:
gl_key_press = FALSE;
break;
}
break;
//-------------------------------------------------------------------------
case MP3_BASS_MODE:
switch(u8KeyCode)
{
case KEY_0:
gl_key_press = TRUE;
gl_key = KEY_PLAY;
break;
case KEY_1:
gl_key_press = TRUE;
gl_key = KEY_MODE;
key_mode = MP3_MED_MODE;
song_sound = SND_MEDIUM;
break;
case KEY_2:
gl_key_press = TRUE;
gl_key = KEY_DEC;
break;
case KEY_3:
gl_key_press = TRUE;
gl_key = KEY_INC;
break;
default:
gl_key_press = FALSE;
break;
}
break;
//-------------------------------------------------------------------------
case MP3_MED_MODE:
switch(u8KeyCode)
{
case KEY_0:
gl_key_press = TRUE;
gl_key = KEY_PLAY;
break;
case KEY_1:
gl_key_press = TRUE;
gl_key = KEY_MODE;
key_mode = MP3_TRE_MODE;
song_sound = SND_TREBLE;
break;
case KEY_2:
gl_key_press = TRUE;
gl_key = KEY_DEC;
break;
case KEY_3:
gl_key_press = TRUE;
gl_key = KEY_INC;
break;
default:
gl_key_press = FALSE;
break;
}
break;
//-------------------------------------------------------------------------
case MP3_TRE_MODE:
switch(u8KeyCode)
{
case KEY_0:
gl_key_press = TRUE;
gl_key = KEY_PLAY;
break;
case KEY_1:
gl_key_press = TRUE;
gl_key = KEY_MODE;
key_mode = MP3_BOOST_MODE;
song_sound = SND_BBOOST;
break;
case KEY_2:
gl_key_press = TRUE;
gl_key = KEY_DEC;
break;
case KEY_3:
gl_key_press = TRUE;
gl_key = KEY_INC;
break;
default:
gl_key_press = FALSE;
break;
}
break;
//-------------------------------------------------------------------------
case MP3_BOOST_MODE:
switch(u8KeyCode)
{
case KEY_0:
gl_key_press = TRUE;
gl_key = KEY_PLAY;
break;
case KEY_1:
gl_key_press = TRUE;
gl_key = KEY_MODE;
key_mode = MP3_PLAY_MODE;
break;
case KEY_2:
gl_key_press = TRUE;
gl_key = KEY_NOBOOST;
break;
case KEY_3:
gl_key_press = TRUE;
gl_key = KEY_BOOST;
break;
default:
gl_key_press = FALSE;
break;
}
break;
//-------------------------------------------------------------------------
default:
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -