📄 tskcartoon.c
字号:
#include <p18cxxx.h>
#include "includes.h"
#include "event.h"
#include "funclcd.h"
#include "fontlib.h"
#include "funcfontlib.h"
extern OS_MEM *pMemSml;
extern OS_MEM *pMemLge;
extern INT8U rom NoUim[];
#pragma romdata EXTRAM
INT8U rom CTData[512];
#pragma code MYCODE
void tskCartoon(void * data){
void rom * pMsg;
INT8U rom * p;
INT8U rom * pT;
INT8U err,i,k;
INT16U j;
for(;;){
pMsg = OSQPend(peventCartoon, 0, &err);
if(err == OS_NO_ERR){
if((INT24U)pMsg >= PTR_MAX){
switch ((INT24U)pMsg){
case MSG_CARTOON_LOGO:
i = 0b10000000;
for(k=0;k<8;k++){
pT = CTData;
p = &START_PIC;
for(j = 0; j<384; j++){//64*6
err = *p++;
*pT++ = err & i;
//p++;
//pT++;
}
Display_Picture(1, 32, 64, 6, CTData, 0);
OSTimeDly(20);
i |= i/2;
}
OSTimeDly(100);
Do_Clear_Screen(1,32,6,96);
Display_Ser(0xff);
break;
case MSG_CARTOON_DIALOUT:
i = 0;
for(;;){
pMsg = OSQPend(peventCartoon, 50, &err);
if(err == OS_NO_ERR){
if(((INT24U)pMsg) == MSG_CARTOON_DIALOUTSTOP) break;
if(((INT24U)pMsg) <= PTR_MAX){
Func_Clear_Msg(pMsg);
}
}
else if (err == OS_TIMEOUT){
if(i == 9){
i = 0;
Do_Clear_Screen(4, 32, 5, 127); //003e
}
else{
Disp_Word(4, 32+i*8, 0x003e, PIX8); //0xd482
}
i++;
}
}
break;
case MSG_CARTOON_RING:
i = 0;
for(;;){
pMsg = OSQPend(peventCartoon, 50, &err);
if(err == OS_NO_ERR){
if(((INT24U)pMsg) == MSG_CARTOON_RINGSTOP) break;
if(((INT24U)pMsg) <= PTR_MAX){
Func_Clear_Msg(pMsg);
}
}
else if (err == OS_TIMEOUT){
if(i == 0){
Do_Clear_Screen(4, 56, 5, 80); //003e
}
else{
Disp_Word(4, (56-8)+i*8, (0xd483-1)+i, PIX8); //0xd482
}
i++;
if(i >= 4) i = 0;
}
}
break;
case MSG_CARTOON_NOUIM:
for(;;){
OSTimeDly(100);
app_printf(NoUim,7,3,16);
OSTimeDly(100);
Do_Clear_Screen(3,16,4,121);
}
}
}
else{
Func_Clear_Msg(pMsg);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -