下边是TI官网里的例程,在void Set_DCO(unsigned int Delta)函数中
BCSCTL1 |= DIVA_3; // ACLK = LFXT1CLK/8
TACCTL0 = CM_1 + CCIS_1 + CAP; // CAP, ACLK ,是CCI0B通道
TACTL = TASSEL_2 + MC_2 + TACLR; // SMCLK, cont-mode, clear
运行结果:
1. 捕获了内部32768晶振的的ACLK,实现对DCO进行校准,同时把校准信息写进Flash;
2. 测试P1.4的确实可以输出16MHz、12MHz、8MHZ、1MHz
疑问:
1. 为什么CCI0B通道捕获了内部ACLK?
2.如果捕获外部信号,要配置对应IO口的P1DIR和P1SEL、P1SEL2。捕获内部信号该怎么配置?
2. 芯片手册里只介绍TA0 Timer的CCI0A通道,没有涉及CCI0B通道?
我为怎为什么么
灰小子:
这三句代码设置了定时器A的时钟,并对定时器进行了配置。
没有捕获内部ACLK,也没有对DCO校准,也没把校准信息写进flash
Yunpeng Xu1:
回复 灰小子:
这就是我郁闷的,关于捕获的配置貌似就这3句。
上边我有上传个.C文件,是从TI网上下来的,有个神奇的void Set_DCO(unsigned int Delta)函数,这3句就是里边的。
劳烦你指点下,或许我漏看了什么。。
灰小子:
回复 Yunpeng Xu1:
这个函数除了这三句,还有很长的代码啊,在while循环里面