打印
[Cortex-M0技术交流]

菜鸟学习M0(3)——在M0上搭一个简易的软件框架

[复制链接]
1944|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dong_abc|  楼主 | 2011-10-23 19:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
接触过一些产品,大多是这种框架,要么时间触发,要么信号触发。main函数如下
 
/*******************************************************************
Copyright(C) NULL, All rights reserved.
File name: main.c
Author:dong_abc  
Version: V1.0   
Date: 2011.10.10
Description: NUC1xx MCU Demo of software systerm
History:
      
  
********************************************************************/
#include "main.h"

extern struct
{
  uint8_t T_5ms         :1;      
  uint8_t T_20ms     :1;      
  uint8_t T_100ms     :1;      
  uint8_t T_500ms     :1;      
}SysTimeFlag;

void Systerm_Init(void)      
{
  UNLOCKREG();            
  SYSCLK->PWRCON.XTL12M_EN = 1;   
  DrvSYS_Delay(5000);         
  DrvSYS_Open(48000);        
  DrvSYS_Delay(5000);        
  SysTick_Init();
  Timer0_Init();
  Uart_Init();  
  ADC_Init();                     
  Seg7_Init();
  Key_Init();
}

int main (void)
{
                             
  Systerm_Init();        
  
  while(1)
  {
ADC_Check();
if(SysTimeFlag.T_5ms==true)
{
   //add do something in timer 5ms
   SysTimeFlag.T_5ms=false;
   Seg7_Fresh();            
    }  
if(SysTimeFlag.T_20ms==true)
{
   //add do something in timer 20ms
   SysTimeFlag.T_20ms=false;   
   Key_Proc();         
    }
    if(SysTimeFlag.T_100ms==true)
    {
    //add do something in timer 100ms
    SysTimeFlag.T_100ms=false;
    }
  
    if(SysTimeFlag.T_500ms==true)
    {
     //add do something in timer 500ms
   SysTimeFlag.T_500ms=false;
    }

  }
}



NUC1xx.rar (2.01 MB)

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

43

主题

5074

帖子

22

粉丝