|
目前实现的功能是:10S内没有触摸进入屏保,且屏幕左下方有10S倒计时显示,如果10S内有触摸,那么将重新倒计时。
使用的系统变量接口定义见附图,
OS核运行的C51源码见附件。https://v.qq.com/x/page/o3145nkrbb8.html
- #include "sys.h"
- #include "timer.h"
- #define SCREEN_PAGE_ID 81
- void main(void)
- {
- u16 pageID;
- u16 CurrentPage;
- u16 Timecnt;
- sys_init();//ϵͳ³õʼ»¯
- Timecnt=10;
- T0_Init();
- StartTimer(1,10000);
- StartTimer(2,1000);
- ShowTime(Timecnt);
- while(1)
- {
-
-
- if(GetTouchEvent()) //Èç¹ûÓд¥Ãþʼþ
- {
-
- ClearTouchEvent(); //Çå³ý´¥Ãþʼþ
- pageID=GetPageID(); //»ñÈ¡Ò³ÃæID
- if((pageID==SCREEN_PAGE_ID)||(pageID==82)||(pageID==83)||(pageID==84))
- //Èç¹ûÒ³ÃæIDÔÚÆÁ±£Ò³Ã棬Çе½Ö®Ç°Ò³Ãæ
- {
- Page_Change(CurrentPage);
- }
- else//ÖØпªÊ¼10S¼Æʱ£¬10Sºó½øÈëÆÁ±£
- {
- StartTimer(1,10000);
- StartTimer(2,1000);
- Timecnt=10;
- ShowTime(Timecnt);
- }
- }
-
- if(GetTimeOutFlag(1))//Èç¹û10sµ½ÁË
- {
- pageID=GetPageID(); //¶ÁÈ¡Ò³ÃæID
- if((pageID!=SCREEN_PAGE_ID)||(pageID!=82)||(pageID!=83)||(pageID!=84))
- //Èç¹û²»ÊÇÆÁ±£Ò³Ãæ
- {
- Page_Change(SCREEN_PAGE_ID); //Çе½ÆÁ±£Ò³Ãæ
- CurrentPage= pageID;
- }
- KillTimer(1); //¹Ø±Õ¶¨Ê±Æ÷
- }
-
- if(GetTimeOutFlag(2))
- {
- pageID=GetPageID();
- if(pageID!=SCREEN_PAGE_ID)
- {
- Timecnt--;
- if(Timecnt==0)
- {
- KillTimer(2);
- Timecnt=10;
- ShowTime(Timecnt);
- }
- else
- {
- ShowTime(Timecnt);
- StartTimer(2,1000);
- }
-
- }
- }
-
- }
- }
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|