迪文科技论坛

 找回密码
 立即注册
搜索
查看: 1555|回复: 1

【开源】基于T5L_OS核访问系统变量接口实现的屏保及倒计...

[复制链接]

5

主题

14

回帖

1032

积分

金牌会员

Rank: 6Rank: 6

积分
1032
发表于 2020-9-1 11:18:13 | 显示全部楼层 |阅读模式
目前实现的功能是:10S内没有触摸进入屏保,且屏幕左下方有10S倒计时显示,如果10S内有触摸,那么将重新倒计时。

使用的系统变量接口定义见附图,
OS核运行的C51源码见附件。https://v.qq.com/x/page/o3145nkrbb8.html

  1. #include "sys.h"
  2. #include "timer.h"
  3. #define  SCREEN_PAGE_ID    81

  4. void main(void)
  5. {   
  6.                         u16 pageID;
  7.                         u16 CurrentPage;
  8.             u16 Timecnt;
  9.                         sys_init();//ϵͳ³õʼ»¯
  10.             Timecnt=10;
  11.                         T0_Init();
  12.                         StartTimer(1,10000);
  13.             StartTimer(2,1000);
  14.             ShowTime(Timecnt);
  15.                         while(1)
  16.                         {  
  17.                                  
  18.                                  
  19.                                         if(GetTouchEvent())                        //Èç¹ûÓд¥Ãþʼþ
  20.                                         {
  21.                                                                                                    
  22.                                                                 ClearTouchEvent();                //Çå³ý´¥Ãþʼþ
  23.                                                                 pageID=GetPageID();                        //»ñÈ¡Ò³ÃæID
  24.                                                                 if((pageID==SCREEN_PAGE_ID)||(pageID==82)||(pageID==83)||(pageID==84))
  25.                                                                                                                         //Èç¹ûÒ³ÃæIDÔÚÆÁ±£Ò³Ã棬Çе½Ö®Ç°Ò³Ãæ
  26.                                                                 {
  27.                                                                         Page_Change(CurrentPage);
  28.                                                                 }
  29.                                                                 else//ÖØпªÊ¼10S¼Æʱ£¬10Sºó½øÈëÆÁ±£
  30.                                                                 {                                                                        
  31.                                                                         StartTimer(1,10000);
  32.                                                                         StartTimer(2,1000);
  33.                                                                         Timecnt=10;
  34.                                                                         ShowTime(Timecnt);
  35.                                                                 }                                                                                                
  36.                                         }
  37.                                                 
  38.                                                 if(GetTimeOutFlag(1))//Èç¹û10sµ½ÁË
  39.                                                 {                                                               
  40.                                                         pageID=GetPageID();                   //¶ÁÈ¡Ò³ÃæID
  41.                                                         if((pageID!=SCREEN_PAGE_ID)||(pageID!=82)||(pageID!=83)||(pageID!=84))        
  42.                                                                                          //Èç¹û²»ÊÇÆÁ±£Ò³Ãæ
  43.                                                         {                                                                                                
  44.                                                                 Page_Change(SCREEN_PAGE_ID); //Çе½ÆÁ±£Ò³Ãæ
  45.                                                                 CurrentPage= pageID;
  46.                                                         }        
  47.                                                         KillTimer(1);        //¹Ø±Õ¶¨Ê±Æ÷                                                                 
  48.                                                 }
  49.                                                 
  50.             if(GetTimeOutFlag(2))
  51.                                                 {
  52.                                                           pageID=GetPageID();
  53.                                                           if(pageID!=SCREEN_PAGE_ID)
  54.                                                                 {
  55.                                                                           Timecnt--;
  56.                                                                           if(Timecnt==0)
  57.                                                                                 {
  58.                                                                                          KillTimer(2);                                                                                         
  59.                                                                                          Timecnt=10;
  60.                                                                                          ShowTime(Timecnt);
  61.                                                                                 }
  62.                                                                                 else
  63.                                                                                 {
  64.                                                                                                 ShowTime(Timecnt);
  65.                                                                                                 StartTimer(2,1000);
  66.                                                                                 }
  67.                                                                         
  68.                                                                 }                                                        
  69.                                                 }
  70.                                        
  71.                                         }

  72. }                                
复制代码





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

12

主题

70

回帖

2212

积分

金牌会员

Rank: 6Rank: 6

积分
2212
发表于 2020-9-1 11:54:59 | 显示全部楼层
点赞
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2025-4-2 13:10 , Processed in 0.066670 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表