[DemoCode下载]

新唐NuMicro M051定时器1测试程序

[复制链接]
617|2
手机看帖
扫描二维码
随时随地手机跟帖
dentsgot|  楼主 | 2016-1-13 20:45 | 显示全部楼层 |阅读模式
#include "SmartM_M0.h" 
unsigned char i;
VOID TMR1Init(VOID)
{
    PROTECT_REG
(
     APBCLK |= 0x08;     //定时器1时钟使能
  CLKSEL1 |= 0x4000;   //定时器1时钟选择外部高速晶振0X000,内部22为0X4000
  IPRSTC2 |=  0x40;  //TIMER1先复位
  IPRSTC2 &= 0xFB;  //定时器1正常工作
  TCSR1  &= 0x18FFFF00;//先清0
  TCSR1 |= 0x6C000000; //赋值:计数开始、使能定时器中断、周期模式、重置预分频值、
  TCMPR1 = 12000*50;  //设置比较值 [0~16777215]
  NVIC_ISER |= 0x0200; //TMR0_INT;
)
}
INT32 main(VOID)
{
// unsigned char i;
  PROTECT_REG
  (
   PWRCON |= XTL12M_EN;      
   while((CLKSTATUS & XTL12M_STB) == 0);   
  
   CLKSEL0 = (CLKSEL0 & (~HCLK)) | HCLK_12M;
  
   P2_PMD=0x5555;         
   P2_DOUT = 0xff;
  )
TMR1Init();
  while(1)
  {
  if(i>7)
  i= 0;
  }
}
VOID TMR1_IRQHandler(VOID)
{
TISR1 = 1;  
    P2_DOUT = ~(1UL<<i);            
i++;
}
xinxianshi| | 2018-12-10 11:04 | 显示全部楼层
这程序蛮好懂的。不知道第一个宏是具体什么内容。还没见过这种带括号的宏。

使用特权

评论回复
xinpian101| | 2018-12-10 22:09 | 显示全部楼层
多谢分享。

使用特权

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

本版积分规则

29

主题

164

帖子

2

粉丝