[DemoCode下载] 新唐NuMicro M051定时器1测试程序

[复制链接]
 楼主| 跟屁虫 发表于 2015-7-19 20:25 | 显示全部楼层 |阅读模式
  1. #include "SmartM_M0.h"
  2. unsigned char i;
  3. VOID TMR1Init(VOID)
  4. {
  5.     PROTECT_REG
  6. (
  7.      APBCLK |= 0x08;     //定时器1时钟使能
  8.   CLKSEL1 |= 0x4000;   //定时器1时钟选择外部高速晶振0X000,内部22为0X4000
  9.   IPRSTC2 |=  0x40;  //TIMER1先复位
  10.   IPRSTC2 &= 0xFB;  //定时器1正常工作
  11.   TCSR1  &= 0x18FFFF00;//先清0
  12.   TCSR1 |= 0x6C000000; //赋值:计数开始、使能定时器中断、周期模式、重置预分频值、
  13.   TCMPR1 = 12000*50;  //设置比较值 [0~16777215]
  14.   NVIC_ISER |= 0x0200; //TMR0_INT;
  15. )
  16. }
  17. INT32 main(VOID)
  18. {
  19. // unsigned char i;
  20.   PROTECT_REG
  21.   (
  22.    PWRCON |= XTL12M_EN;      
  23.    while((CLKSTATUS & XTL12M_STB) == 0);   
  24.   
  25.    CLKSEL0 = (CLKSEL0 & (~HCLK)) | HCLK_12M;
  26.   
  27.    P2_PMD=0x5555;         
  28.    P2_DOUT = 0xff;
  29.   )
  30. TMR1Init();
  31.   while(1)
  32.   {
  33.   if(i>7)
  34.   i= 0;
  35.   }
  36. }
  37. VOID TMR1_IRQHandler(VOID)
  38. {
  39. TISR1 = 1;  
  40.     P2_DOUT = ~(1UL<<i);            
  41. i++;


玛尼玛尼哄 发表于 2015-7-19 22:52 | 显示全部楼层
VOID TMR1_IRQHandler(VOID)
中断都是要这么写的 吗
玛尼玛尼哄 发表于 2015-7-19 22:52 | 显示全部楼层
_IRQHandler(VOID)这个是中断的标识吗,唯一的吗
侣行天下 发表于 2015-7-20 20:44 | 显示全部楼层
谢谢楼主的无私分享,这些很有用,能直接用
戴望平 发表于 2015-7-21 14:13 | 显示全部楼层
看看
598330983 发表于 2015-7-21 22:40 | 显示全部楼层
没看懂中断函数里在干啥
734774645 发表于 2015-7-21 23:12 | 显示全部楼层
上面都没听懂,楼主要讲解详细点。
yiyigirl2014 发表于 2015-7-21 23:29 | 显示全部楼层
VOID TMR1_IRQHandler(VOID)
{
TISR1 = 1;  
    P2_DOUT = ~(1UL<<i);            
i++;
这个加加和移位是什么意思啊
玛尼玛尼哄 发表于 2015-7-21 23:41 | 显示全部楼层
TMR1Init();
  while(1)
  {
  if(i>7)
  i= 0;
  }
}
折里面搞的是什么,难道7次复位一下?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

28

主题

245

帖子

2

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

28

主题

245

帖子

2

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