[Cortex-M0技术交流] 菜鸟学习M0(3)——在M0上搭一个简易的软件框架

[复制链接]
 楼主| dong_abc 发表于 2011-10-23 19:23 | 显示全部楼层 |阅读模式
接触过一些产品,大多是这种框架,要么时间触发,要么信号触发。main函数如下

  1. /*******************************************************************
  2. Copyright(C) NULL, All rights reserved.
  3. File name: main.c
  4. Author:dong_abc  
  5. Version: V1.0   
  6. Date: 2011.10.10
  7. Description: NUC1xx MCU Demo of software systerm
  8. History:
  9.       
  10.   
  11. ********************************************************************/
  12. #include "main.h"

  13. extern struct
  14. {
  15.   uint8_t T_5ms         :1;      
  16.   uint8_t T_20ms     :1;      
  17.   uint8_t T_100ms     :1;      
  18.   uint8_t T_500ms     :1;      
  19. }SysTimeFlag;

  20. void Systerm_Init(void)      
  21. {
  22.   UNLOCKREG();            
  23.   SYSCLK->PWRCON.XTL12M_EN = 1;   
  24.   DrvSYS_Delay(5000);         
  25.   DrvSYS_Open(48000);        
  26.   DrvSYS_Delay(5000);        
  27.   SysTick_Init();
  28.   Timer0_Init();
  29.   Uart_Init();  
  30.   ADC_Init();                     
  31.   Seg7_Init();
  32.   Key_Init();
  33. }

  34. int main (void)
  35. {
  36.                              
  37.   Systerm_Init();        
  38.   
  39.   while(1)
  40.   {
  41. ADC_Check();
  42. if(SysTimeFlag.T_5ms==true)
  43. {
  44.    //add do something in timer 5ms
  45.    SysTimeFlag.T_5ms=false;
  46.    Seg7_Fresh();            
  47.     }  
  48. if(SysTimeFlag.T_20ms==true)
  49. {
  50.    //add do something in timer 20ms
  51.    SysTimeFlag.T_20ms=false;   
  52.    Key_Proc();         
  53.     }
  54.     if(SysTimeFlag.T_100ms==true)
  55.     {
  56.     //add do something in timer 100ms
  57.     SysTimeFlag.T_100ms=false;
  58.     }
  59.   
  60.     if(SysTimeFlag.T_500ms==true)
  61.     {
  62.      //add do something in timer 500ms
  63.    SysTimeFlag.T_500ms=false;
  64.     }

  65.   }
  66. }



本帖子中包含更多资源

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

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

本版积分规则

个人签名:此id已冬眠...

43

主题

5074

帖子

22

粉丝
快速回复 在线客服 返回列表 返回顶部