完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我用MSP430F6单片机外部晶振XT1和XT2 ,现在晶振无法起振。大家帮忙看看配置是否有问题
程序如下: void Init_Clk() { P7SEL |=0x0f; //开启XT1,XT2 7.3,P7.2对应XT2 P7.1,P7.0对应XT1 UCSCTL6 |= XCAP_3 + XT1DRIVE_0 + XT2DRIVE_1; UCSCTL6 &= ~(XT1OFF + XT2OFF ); //打开XT1,XT2,全选外部晶振;XT2CLK = 8~16M;配置XT1的电容;XT1在低频模式 // UCSCTL3 |= SELREF__REFOCLK; //FLL 参考时钟选择REFOCLK // UCSCTL3默认FLL 参考时钟 XT1CLK UCSCTL4 |= SELS_5 + SELM_5; //MCLK=XT2CLK,SMCLK=XT2CLK,UCSCTL4 默认ACLK=XT1CLK 时钟源发生错误,ACLK会自动选择REFOCLK do { UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG); // Clear XT2,XT1,DCO fault flags SFRIFG1 &= ~OFIFG; // Clear fault flags }while(SFRIFG1&OFIFG); // Test oscillator fault flag } 程序打断点,在上面的while循环的不能退出 |
|
相关推荐
1 条评论
10个回答
|
|
|
|
|
|
帮顶 ....
|
|
|
|
大神们 帮帮忙啊
|
|
|
|
M430没学过,有空研究一下。
|
|
|
|
难道没有人遇到过这样的问题吗?还是不屑于回答啊? 我还是想办法测试无源晶振的好坏吧
|
|
|
|
do
{ UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG); // Clear XT2,XT1,DCO fault flags SFRIFG1 &= ~OFIFG; // Clear fault flags //+++++++++++ for (i = 0xFF; i > 0; i--); //等待晶体起振……加入这句试下吧(当然,先要uchar i),我也是莱鸟,莫笑…… //+++++++++++ }while(SFRIFG1&OFIFG); // Test oscillator fault flag } |
|
|
|
do
{ UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG); // Clear XT2,XT1,DCO fault flags SFRIFG1 &= ~OFIFG; // Clear fault flags }while(SFRIFG1&OFIFG); // Test oscillator fault flag } 像这一段可以直接用TI上面的例程,这一段的意思是 XT1刚刚起振的时候可能有错误,导致时钟错误标志位置位,必须先清零 然后配置时钟的话根据手册配置便可以了 |
|
|
|
这一段我是复制你的,没有在TI上面找的例程,你可以到官网下
|
|
|
|
多谢。。。搞定
|
|
1 条评论
|
|
外部晶振起不起振,跟程序没关系,跟你电路有关系,多研究研究技术手册吧
|
|
1 条评论
|
|
只有小组成员才能发言,加入小组>>
3051个成员聚集在这个小组
加入小组2957 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3666 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2359 浏览 1 评论
4823 浏览 1 评论
2585 浏览 1 评论
1359浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3669浏览 2评论
2960浏览 1评论
1552浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 12:51 , Processed in 1.675952 second(s), Total 72, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号