You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
327 lines
12 KiB
327 lines
12 KiB
10 months ago
|
C51 COMPILER V9.54 TTSS_TASK 09/06/2024 11:24:47 PAGE 1
|
||
|
|
||
|
|
||
|
C51 COMPILER V9.54, COMPILATION OF MODULE TTSS_TASK
|
||
|
OBJECT MODULE PLACED IN ..\out\TTSS_task.obj
|
||
|
COMPILER INVOKED BY: E:\KeilC51\C51\BIN\C51.EXE ..\source\ctask\TTSS_task.c LARGE OMF2 OPTIMIZE(0,SIZE) BROWSE ORDER NOI
|
||
|
-NTPROMOTE INCDIR(..\source\bsp;..\source\msp;..\source\app;..\source\clib;..\source\cpu;..\source\ctask;..\source\tpc;..
|
||
|
-\source\asp;..\source\debug;..\source\msp\uart;..\source\msp\simiic;..\source\bsp\oled;..\source\bsp\TTSSbsp) DEBUG PRIN
|
||
|
-T(..\out\TTSS_task.lst) TABS(2) OBJECT(..\out\TTSS_task.obj)
|
||
|
|
||
|
line level source
|
||
|
|
||
|
1 /*****************************************************
|
||
|
2 *============================================================================
|
||
|
3 * HISTORY
|
||
|
4 * Below this line, this part is controlled by TSTS. DO NOT MODIFY!!
|
||
|
5 伪时间片嵌入式平台(Task Step by Step Turn by Turn Structure,简称TSTS)
|
||
|
6 20220830_23642 CCmodify 优化了task handdle
|
||
|
7 ///cc 2023/04/08--12:13:47 TS_task_val_ tst_v;////TTSS常用的全局变量
|
||
|
8
|
||
|
9 *============================================================================
|
||
|
10 ****************************************************************************/
|
||
|
11
|
||
|
12 #include "TTSS_task.h"
|
||
|
*** WARNING C320 IN LINE 51 OF ..\source\bsp\TTSSbsp\bsp_config.h: "MainFre_22M"
|
||
|
13 //任务命名规则:
|
||
|
14 // 1:第一层
|
||
|
15 /// 0驱动芯片级 flash
|
||
|
16 /// 1芯片应用级 save
|
||
|
17 /// 2任务应用级 jilu_save
|
||
|
18 //
|
||
|
19 // 2:第二层/flash/i2c/7290/等各类芯片
|
||
|
20 // 3:任务序号/不同的芯片/
|
||
|
21 //
|
||
|
22
|
||
|
23 TS_task ts_task_init =
|
||
|
24 {
|
||
|
25 0L, ///vU32 n;
|
||
|
26 /// volatile UN_TYPE en; //关闭任务,也可以理解为暂停,但是使用idelay的地方时间在��
|
||
|
-�台计数任务在延时到了后才暂停,而的delay相当于暂停
|
||
|
27 0, ///volatile UN_TYPE sh; //当前任务段
|
||
|
28 0 ///volatile UN_TYPE sh_next; //下一个任务段,并不代表一定下一任务段一定是他,有可
|
||
|
-能中间插入延时等任务段
|
||
|
29 /// volatile UN_TYPE sh_pre; //前一个任务段,一般为调出缓存任务段使用
|
||
|
30
|
||
|
31
|
||
|
32 };
|
||
|
33 ////L1_task_init
|
||
|
34 TS_task_val_ tst_v;////TTSS常用的全局变量
|
||
|
35
|
||
|
36 void L1_task_reg_clear(TS_task *s)
|
||
|
37 {
|
||
|
38 1 // s->en = 1;
|
||
|
39 1 // s->pfun = 0;
|
||
|
40 1 s->sh = 0;
|
||
|
41 1 s->sh_next= 0;
|
||
|
42 1 /// s->sh_pre= 0;
|
||
|
43 1 s->n= 0;
|
||
|
44 1 }
|
||
|
45
|
||
|
46
|
||
|
47 /////>>>>>>>>>>>>>>>>>>>>>>>>>>>>>供演示task 结构的使用 不可删除>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||
|
48 #define D_task_test_01 0x20
|
||
|
49 #define D_task_test_02 0x22
|
||
|
C51 COMPILER V9.54 TTSS_TASK 09/06/2024 11:24:47 PAGE 2
|
||
|
|
||
|
50 #define D_task_test_03 0x23
|
||
|
51
|
||
|
52 #ifdef D_debug_task_test
|
||
|
////>>>>>>>>>>>>>>>>>>>>>_s_task_test_>>>>>>>>>>>>>>>>>>>>>>
|
||
|
TS_task_test_ ts_task_test;
|
||
|
void L2_task_test_register(void)
|
||
|
{
|
||
|
ddd
|
||
|
L1_task_reg_clear(&ts_task_test.task);
|
||
|
L3_task_s_go(ts_task_test,D_task_init);
|
||
|
}
|
||
|
|
||
|
///L2_task_test_handle(&ts_task_test);
|
||
|
void L2_task_test_handle(TS_task_test_ *s)
|
||
|
{
|
||
|
unsigned char d = 0;
|
||
|
TTSS_Task_init():
|
||
|
L2_task_go(D_task_test_01);
|
||
|
TTSS_Task_step(D_task_test_01):
|
||
|
if(d > 8)
|
||
|
{
|
||
|
d = 0;
|
||
|
L2_task_go(D_task_test_02);
|
||
|
L1_task_Cdelay(D_Cdelay_200us);
|
||
|
}else
|
||
|
{
|
||
|
d ++;
|
||
|
}
|
||
|
TTSS_Task_step(D_task_test_02):
|
||
|
if(d > 4)
|
||
|
{
|
||
|
d = 0;
|
||
|
L2_task_go(D_task_test_01);
|
||
|
L1_task_Tdelay(D_Tdelay_100ms);
|
||
|
}else
|
||
|
{
|
||
|
d ++;
|
||
|
}
|
||
|
|
||
|
TTSS_Task_end();
|
||
|
}
|
||
|
#endif//#ifdef D_debug_task_test
|
||
|
92 ////<<<<<<<<<<<<<<<<<<<<<_s_task_test_<<<<<<<<<<<<<<<<<<<<<<
|
||
|
93
|
||
|
94
|
||
|
95
|
||
|
96 //example :
|
||
|
97 #if 0
|
||
|
|
||
|
|
||
|
//L2_task_voice_handle(&s_task_music.task);
|
||
|
//L1_task_go(D_task_close);
|
||
|
//if(L1_task_busy(s)){ L1_task_goout(s_task_music.task,D_task_voice_send_single) }
|
||
|
void L2_task_voice_handle(struct _s_task_music_ *s)
|
||
|
{ //s_task_music.task.sh
|
||
|
switch(s->task.sh)
|
||
|
{
|
||
|
|
||
|
case D_task_voice_init://
|
||
|
|
||
|
s->sector = 0;
|
||
|
break;
|
||
|
C51 COMPILER V9.54 TTSS_TASK 09/06/2024 11:24:47 PAGE 3
|
||
|
|
||
|
case D_task_voice_cuimian :
|
||
|
s->sector = D_voice_music_wantsleep;
|
||
|
L2_task_go_son(D_task_voice_play,D_task_voice_cuimian1);
|
||
|
break;
|
||
|
case D_task_voice_cuimian1://
|
||
|
L2_task_go(D_task_voice_cuimian2);
|
||
|
|
||
|
break;
|
||
|
case D_task_voice_cuimian2://
|
||
|
|
||
|
if(0 == s->volume_change)
|
||
|
{
|
||
|
//L3_voice_stop();
|
||
|
s->sector = D_voice_stop;
|
||
|
s->status = D_voice_status_stop;
|
||
|
//L2_task_go(D_task_voice_play);
|
||
|
L2_task_go_son(D_task_voice_play,0);
|
||
|
}else
|
||
|
{
|
||
|
s->volume_change --;
|
||
|
s->volume_temp = s->volume;
|
||
|
s->volume = s->volume_change*s->volume_shop/20;//
|
||
|
if (s->volume_temp != s->volume)
|
||
|
{
|
||
|
s->sector = D_voice_volume|s->volume;
|
||
|
//s->status = D_voice_status_stop;
|
||
|
//L2_task_go(D_task_voice_volume3);
|
||
|
L2_task_go_son(D_task_voice_play,D_task_voice_cuimian2);
|
||
|
}
|
||
|
//else
|
||
|
{
|
||
|
L2_task_delay(D_task_delay_1m);
|
||
|
}
|
||
|
}
|
||
|
break;
|
||
|
|
||
|
//>>>>>>>>>>>>>>>>>> son function
|
||
|
case D_task_voice_play://
|
||
|
if(L3_task_s_busy(s_task_wt558d))
|
||
|
{
|
||
|
}else
|
||
|
{
|
||
|
s_task_wt558d.reg = s_task_music.sector;
|
||
|
L3_task_s_go(s_task_wt558d,D_task_wt558d_fun);
|
||
|
|
||
|
L2_task_go(D_task_voice_ask);
|
||
|
}
|
||
|
break;
|
||
|
case D_task_voice_ask://
|
||
|
if(L3_task_s_busy(s_task_wt558d))
|
||
|
{
|
||
|
|
||
|
}else
|
||
|
{
|
||
|
|
||
|
L2_task_go_father();//回到
|
||
|
}
|
||
|
break;
|
||
|
//<<<<<<<<<<<<<<<<<<<<<< son function
|
||
|
//-----------------------task standerd code
|
||
|
case D_task_Tdelay://----
|
||
|
s->task.n--;
|
||
|
C51 COMPILER V9.54 TTSS_TASK 09/06/2024 11:24:47 PAGE 4
|
||
|
|
||
|
if (s->task.n == 0)
|
||
|
{
|
||
|
s->task.n = 0;
|
||
|
L2_task_delay_over();
|
||
|
}
|
||
|
break;
|
||
|
|
||
|
default :
|
||
|
break;
|
||
|
}
|
||
|
L2_task_wt558d_handle(&s_task_wt558d);
|
||
|
}
|
||
|
|
||
|
|
||
|
void L2_task_voice_handle(struct _s_task_music_ *s)
|
||
|
{ //s_task_music.task.sh
|
||
|
switch(s->task.sh)
|
||
|
{
|
||
|
|
||
|
case D_task_voice_init://
|
||
|
|
||
|
s->sector = 0;
|
||
|
break;
|
||
|
case D_task_voice_cuimian :
|
||
|
s->sector = D_voice_music_wantsleep;
|
||
|
L2_task_go_son(D_task_voice_play,D_task_voice_cuimian1);
|
||
|
break;
|
||
|
case D_task_voice_cuimian1://
|
||
|
L2_task_go(D_task_voice_cuimian2);
|
||
|
|
||
|
break;
|
||
|
|
||
|
//-----------------------task standerd code
|
||
|
case D_task_Tdelay://----
|
||
|
s->task.n--;
|
||
|
if (s->task.n == 0)
|
||
|
{
|
||
|
s->task.n = 0;
|
||
|
L2_task_delay_over();
|
||
|
}
|
||
|
break;
|
||
|
|
||
|
default :
|
||
|
break;
|
||
|
}
|
||
|
L2_task_wt558d_handle(&s_task_wt558d);
|
||
|
}
|
||
|
|
||
|
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||
|
//>>>>>>>>>>>>>>>>>>>>>记录task
|
||
|
struct _s_task_4ChuShengRiQi_
|
||
|
{
|
||
|
TS_task task;
|
||
|
unsigned char pic_id;//画面ID
|
||
|
|
||
|
|
||
|
};
|
||
|
extern struct _s_task_4ChuShengRiQi_ s_task_4ChuShengRiQi_;
|
||
|
|
||
|
#define D_task_4ChuShengRiQi_init 0x10
|
||
|
#define D_task_4ChuShengRiQi_key 0x11
|
||
|
|
||
|
C51 COMPILER V9.54 TTSS_TASK 09/06/2024 11:24:47 PAGE 5
|
||
|
|
||
|
|
||
|
extern void L2_task_4ChuShengRiQi_handle(struct _s_task_4ChuShengRiQi_ *s);
|
||
|
|
||
|
void L2_task_4ChuShengRiQi_handle(struct _s_task_4ChuShengRiQi_ *s)
|
||
|
{
|
||
|
switch(s->task.sh)
|
||
|
{
|
||
|
|
||
|
case D_task_4ChuShengRiQi_init://
|
||
|
|
||
|
s->pic_id= 0;
|
||
|
break;
|
||
|
case D_task_4ChuShengRiQi_key :
|
||
|
if(1 == s_task_keyx1.down )
|
||
|
{
|
||
|
s_task_keyx1.down = 0;
|
||
|
|
||
|
if(D_keyx_left == s_task_keyx1.key_value)
|
||
|
{}
|
||
|
|
||
|
|
||
|
}else if(1 == s_task_keyx_4.down)
|
||
|
{
|
||
|
s_task_keyx_4.down = 0;
|
||
|
|
||
|
|
||
|
}
|
||
|
else {}
|
||
|
|
||
|
//L2_task_go_son(D_task_4ChuShengRiQi_play,D_task_4ChuShengRiQi_cuimian1);
|
||
|
break;
|
||
|
|
||
|
L0_task_delay();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
//<<<<<<<<<<<<<<<<<<<记录task
|
||
|
|
||
|
|
||
|
/////<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<供演示task 结构的使用 不可删除<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
|
||
|
-<
|
||
|
|
||
|
|
||
|
#endif
|
||
|
281
|
||
|
282
|
||
|
|
||
|
|
||
|
MODULE INFORMATION: STATIC OVERLAYABLE
|
||
|
CODE SIZE = 52 ----
|
||
|
CONSTANT SIZE = ---- ----
|
||
|
XDATA SIZE = 16 ----
|
||
|
PDATA SIZE = ---- ----
|
||
|
DATA SIZE = ---- ----
|
||
|
IDATA SIZE = ---- ----
|
||
|
BIT SIZE = ---- ----
|
||
|
EDATA SIZE = ---- ----
|
||
|
HDATA SIZE = ---- ----
|
||
|
XDATA CONST SIZE = ---- ----
|
||
|
FAR CONST SIZE = ---- ----
|
||
|
C51 COMPILER V9.54 TTSS_TASK 09/06/2024 11:24:47 PAGE 6
|
||
|
|
||
|
END OF MODULE INFORMATION.
|
||
|
|
||
|
|
||
|
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
|