[求助] 430单片机程序求助

smilesword   2018-1-28 20:41 楼主
void Init_Timer0_A5(void)
{
  TA0CTL   = 0                                               // 复位Timer0_A5, 分频系数设置为1
           | (1 << 2)                                             // 计数器清0
           | (2 << 8)                                            ; // 计数时钟设为SMCLK                                                          ;
  TA0CCR0  =  16000  - 1                                   ; // SMCK=EX2=16MHz,设置计数器溢出时间为1ms
  TA0CCTL0 = 0                                               // 初始化捕获控制
           | (1 << 4)                                                    ; // 使能比较中断
  TA0CTL  |= (1 << 4)                                      ; // 设置计数器为加计数,启动
}


小弟菜鸟。不知道上面这段程序怎么理解。       TA0CCR0  =  16000  - 1; // SMCK=EX2=16MHz,设置计数器溢出时间为1ms                                       主要是这种表达式不知道怎么理解。求网友帮助,小弟先谢谢了。

回复评论 (3)

TA0CCR0  =  16000  - 1; 找到开发手册。找到对应的寄存器。看看这个赋值语句。把每个位都赋值成多少。看寄存器说明。每一位对应的含义。就明白了。
点赞  2018-1-29 13:09
参数配置看430具体寄存器,计数周期为TA0CCR0与SMCK计算
点赞  2018-1-31 15:59
ccr0的值会在计时器溢出这个值的时候进入中断
点赞  2018-4-3 21:46
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复