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) ; // 设置计数器为加计数,启动
}
小弟菜鸟。不知道上面这段程序怎么理解。TA0CTL = 0 | (1 << 2) | (2 << 8) ;主要是这种表达式不知道怎么理解。求网友帮助,小弟先谢谢了。
此帖出自
小平头技术问答
1<<2=00000000 00000100
2<<8=00000010 00000000
0 | (1 << 2) | (2 << 8)=00000010 00000100
相当于把第3、9位置位,其他位复位
一周热门 更多>