在线情况
楼主
  • 头像
  • 级别
    • 积分1
    • 经验17
    • 文章1
    • 注册2013-01-09
    430单片机OFIFG晶振出错标志位清不掉
    [FACE=宋体][SIZE=9pt]我买的是msp430F5438的开发板,发现设置外部晶振时钟时晶振出错标志老是清不掉,一打开XT1晶振出错标志位OFIFG就自动置位,百死不得其解!我找了好多代码,包括教程,以及TI的。以下是TI官方代码,但仍然跳不出循环:[/FACE][/SIZE][P][/P][P][FACE=宋体][SIZE=12px]P7SEL |= 0x03;                            // Select XT1[/FACE][/SIZE][/P][P][FACE=宋体][SIZE=12px] UCSCTL6 &= ~(XT1OFF);                     // XT1 On[/FACE][/SIZE][/P][P][FACE=宋体][SIZE=12px] UCSCTL6 |= XCAP_3;                        // Internal load cap[/FACE][/SIZE][/P][P][FACE=宋体][SIZE=12px]
    [/FACE][/SIZE][/P][P][FACE=宋体][SIZE=12px] // Loop until XT1,XT2 & DCO stabilizes[/FACE][/SIZE][/P][P][FACE=宋体][SIZE=12px] do[/FACE][/SIZE][/P][P][FACE=宋体][SIZE=12px] {[/FACE][/SIZE][/P][P][FACE=宋体][SIZE=12px]   UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG);[/FACE][/SIZE][/P][P][FACE=宋体][SIZE=12px]                                         // Clear XT2,XT1,DCO fault flags[/FACE][/SIZE][/P][P][FACE=宋体][SIZE=12px]   SFRIFG1 &= ~OFIFG;                      // Clear fault flags[/FACE][/SIZE][/P][P][FACE=宋体][SIZE=12px] }while (SFRIFG1&OFIFG);                   // Test oscillator fault flag[/FACE][/SIZE][/P][P][FACE=宋体][SIZE=12px]
    [/FACE][/SIZE][/P][P][FACE=宋体][SIZE=12px] UCSCTL6 &= ~(XT1DRIVE_3);                 // Xtal is now stable, reduce drive[/FACE][/SIZE][/P][P][/P][P][FACE=宋体][SIZE=12px]  [/FACE][/SIZE][/P][P][FACE=宋体][SIZE=12px] 缘何?缘何啊?[/FACE][/SIZE][/P]
    [ 此贴最后由DC在2013-2-22 10:58:25编辑过 ]
    此帖受到1次评价, 累计:积分-1
    微控网感谢您的参与
    在线情况
    2
    • 头像
    • 级别
    • 门派
    • 职务总版主
    • 声望+9
    • 财富5
    • 积分3065
    • 经验390701
    • 文章6744
    • 注册2006-03-07
    [P]应该重点检查一下晶振负载电容的配置,在这里你软件已有配置过内部的电容了。再检查外部配置电容是否用上了。如果重复软硬件都做配置了,电容无过可能导致晶振荡源无法起振。[/P][P]另外调试时,建议调试时试着用“跳过”这部分的方式来做调试看。[/P]
    [COLOR=#0000ff]欢迎发贴分享设计心得、开源DIY...[/COLOR]
    在线情况
    3
    • 头像
    • 级别
      • 积分1
      • 经验78
      • 文章2
      • 注册2013-03-05
      注意下FLL的参考时钟源。
      微控网感谢您的参与
      Powered by LeadBBS 9.2 .
      Page created in 0.2666 seconds with 5 queries.