📄 system.c
字号:
/****************************************************************************
* 公司名称:SITRONIX *
* 模块名称:SYSTEM.C *
* 模块功能:切换屏幕显示,按键扫描,按键处理,TFT RGB信号 *
* 创建人员:Jim Yuan *
* 创建日期:2007-6-8 *
* 修改日期:2007-11-22 *
****************************************************************************/
#include "system.h"
#define SYS_INIT 0
#define LCD_DISP 1
#define KEY_INPUT 2
#define KEY_OUTPUT 3
#define RGB_SCAN 4
idata volatile uint8 bl_ctl; //backlight control
idata volatile uint8 rom_bank; //A16_A17_A18
idata volatile uint8 rom_cs; //00:bank0_01:bank1_10:bank2_11:bank3
idata volatile uint8 key_scanx; //ken scan address
extern void keyin_task(void); //按键扫描输入任务
extern void keyout_task(void); //按键读取输出任务
extern void key_init(void); //按键参数初试化
void system_init(void)
{
rom_bank = 0;
bl_ctl = 0;
rom_cs = 0;
key_scanx = 0;
XBYTE[0X0000] = (rom_bank & 0x07)|((bl_ctl & 0x01)<<3)|((rom_cs & 0x03)<<4)|((key_scanx & 0x03)<<6);
}
void system_delay_lcd(uint8 tt)
{
uint8 i;
i = (uint8)tt;
os_wait(K_TMO,i,0);
}
job0() _task_ SYS_INIT
{
system_init();
key_init();
os_create_task (LCD_DISP);
#if SYS_RGB_SCAN == TRUE
os_create_task (RGB_SCAN);
#endif
#if SYS_KEY_EN == TRUE
os_create_task (KEY_INPUT);
os_create_task (KEY_OUTPUT);
#endif
os_delete_task (SYS_INIT);
}
job1() _task_ LCD_DISP
{
lcd_main();
}
#if SYS_KEY_EN == TRUE
job2() _task_ KEY_INPUT
{
while(1)
{
keyin_task();
os_wait(K_TMO,KEY_INPUT_TMO,0);
}
}
job3() _task_ KEY_OUTPUT
{
while(1)
{
keyout_task();
os_wait(K_TMO,KEY_OUTPUT_TMO,0);
}
}
#endif
#if SYS_RGB_SCAN == TRUE
extern void rgb_scan(void);
job4() _task_ RGB_SCAN
{
while(1)
{
rgb_scan();
}
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -