F2274与F2312的外部32K有源时钟输入问题:

2019-03-24 08:39发布

F2274与F2312的外部32K有源时钟输入问题:
                之前一直用F2274+外部32K有源时钟,之后设置1秒定时中断,做了n多板都工作正常;
                由于成本原因换了便宜点的F2312,对比了一下,F2312与F2274的时钟输入管脚都是P2.6,ACLK输出管脚都是P2.0;
                时钟初始化的代码根本不用修改就能编译过去;但是在F2274上很准确的1秒定时中断在F2312上跑就慢了1/4左右;
                于是测试ACLK管脚的时钟输出,发现F2312根本没有输出任何时钟,而F2274上相同的管脚有32K时钟输出;
                代码如下,我实在看不出什么问题,请前辈们指点一下,小弟感谢!
void SetLogicACLK()
{
   BCSCTL3= LFXT1S_3; //选择用外部数字32K时钟源来接到ACLK
//P2.0/ACLK/A0/OA0I0: 要P2.0输出ACLK,P2DIR.x=1,P2SEL.x=1,ADC10AE0.y=0
   P2DIR|=BIT0;
   P2SEL|=BIT0;
   ADC10AE0=0;
   
   CCR0 =32768; //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,相当于1s
   TACTL = TASSEL0+MC0+ TACLR; //设置定时器A选择辅助时钟ACLK,MC0=0x0010,使计数模式为增计数 TASSEL0与TASSEL_0是不一样的,不要搞错啊!
   TACCTL0 |=CCIE;//CCTL0 = CCIE; //设置捕获/比较控制寄存器,CCIE=0x0010,使能捕获比较中断
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
qwerghf
2019-03-24 20:57
芯片应该是MSP430F2132吧,你的F2312搜大半天没找到,觉得不对,你的代码写的不对,TASSEL_1这个选项才是ACLK,自己改下

一周热门 更多>

相关问题

    相关文章