标题: MSP430单片机定时器A的TACLR置位的影响 [打印本页]

作者: 2594281424    时间: 2020-7-2 00:44
标题: MSP430单片机定时器A的TACLR置位的影响
网上说TACLR置位后,会复位时钟分频,和计数模式的设置, 我在测试时,无论加没加置位TACLR,程序都运行一样的结果,如果置位TACLR后有复位,结果应该是不一样的,所以我有点迷惑。

麻烦有仿真器的大佬,帮忙测试一下,TACLR置位后对设置好的TACTL寄存器的影响。
这个软件仿真不能看出来,所以希望有硬件仿真器的朋友帮一下忙。


作者: f556    时间: 2020-7-3 10:05
少有MSP430的同好,我现在基本是用MSP430。找了一下我的程序:
void Init_Timer0_A3(void)
{
    TACTL = TASSEL_1 + ID_0 + MC_1 +TACLR;    //ACLK做时钟,0分频,增计数模式,清零(不响应溢出中断时TAR还是不会清零)。
      CCTL0 = CCIE;                        
      CCR0=32768/4;                       
      _EINT();
}

TACLR为1的作用是对TAR自动清零,见注解,无中断响应时,不会自清0。TACTL 是主控制寄存器,与TACLR无关。TAR的清零也可以用TAR=0;
另外,硬件仿真我有的,不知道如何测试你说的。
作者: 2594281424    时间: 2020-7-5 21:05
f556 发表于 2020-7-3 10:05
少有MSP430的同好,我现在基本是用MSP430。找了一下我的程序:
void Init_Timer0_A3(void)
{

谢谢,这个TACLR置位对TAR清零了解了。之前我看的中文手册上说TACLR置位会复位模式选择,就是这里迷惑,实际试验结果没有它说的这个作用。
硬件仿真的话,就是设置好TACTL后,再单独写个TACLR置位,然后单步调试,看TACTL寄存器的值是否改变,如果计数模式改变的话,这个寄存器的值也会改变。
我自己用软件调试这个没啥用,TAR都不清零,查手册说这里有个硬件电路,所以没法搞,如果兄弟有时间的话可以测试一下
作者: f556    时间: 2020-7-9 11:29
再看TACLR,先是不信中文手册上说的,也不相信TACLR会改变TACTL。看了F14x的手册,果真还是会置位MODE、divider。你关注的有道理。有空试试。
附英文原版说明:






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1