打印

f5336 , x1 晶振不起振?

[复制链接]
1116|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
OIU|  楼主 | 2014-9-16 15:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
int main( void )
{
        unsigned int i, j;
        // Stop watchdog timer to prevent time out reset
        WDTCTL = WDTPW + WDTHOLD;

        PMAPPWD = 0x02D52;                        // Enable Write-access to modify port mapping registers
        P2MAP7 = PM_MCLK;
        PMAPPWD = 0;                              // Disable Write-Access to modify port mapping registers
        P2DIR |= BIT1;
        P1DIR  |= BIT0;                //ACLK OUTPUT
        P1SEL |= BIT0;
        P3DIR  |= BIT4;                //SMCLK OUTPUT
        P3SEL |= BIT4;
        P2DIR  |= BIT7;                //MCLK OUTPUT
        P2SEL |= BIT7;
//        P5SEL |= BIT4 + BIT5;                // XT1CLK
        P7SEL |= BIT2 + BIT3;                //XT2CLK
        UCSCTL6 &= ~XT2OFF;
        //UCSCTL6 |= XT2BYPASS;

        UCSCTL6 &= ~XT1OFF;
        //UCSCTL6 |= XT1BYPASS;
        UCSCTL6 |= XCAP_3;
        UCSCTL3 = SELREF__XT1CLK;
        UCSCTL4 |= SELA__XT2CLK + SELM__XT2CLK + SELS__XT1CLK;;
       
        while(SFRIFG1 & OFIFG)
        {
                UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG);
                SFRIFG1 &= ~OFIFG;                        //clear osc fault interrupt flag

        }

。。。。。。
}

脚位一直看不到32.768khz, 而且一直都在while 里面 跳步出来?? 32768的晶振换了好几种都不行,难道芯片有问题?

相关帖子

沙发
dirtwillfly| | 2014-9-16 22:10 | 只看该作者
本帖最后由 dirtwillfly 于 2014-9-16 22:13 编辑

看你的程序:
//        P5SEL |= BIT4 + BIT5;                // XT1CLK
         P7SEL |= BIT2 + BIT3;                //XT2CLK
你是不是把32.768khz连接到XT2上了?
32.768khz要连接到XT1上的,XT2是接高速晶振的

使用特权

评论回复
板凳
OIU|  楼主 | 2014-9-17 11:28 | 只看该作者
XT1的clock 是32768hz, xt2,我接的是4mhz, 各位可以试试,反正ti的这个ic 一定有问题!特别是 UCSCTL4 这个寄存器,不管怎么配置mclk , 都不会出现32768hz, 也就是说cpu 运行,不会是xt1的。就是配置UCSCTL4 的时候,有的时候,mclk , aclk , smclk ,都可以从i/o口可以看到频率出现了,换一个配置,就出现不来。ic 有问题或者,user guide 不全。

使用特权

评论回复
地板
OIU|  楼主 | 2014-9-18 10:41 | 只看该作者
使用 UCSCTL4 |= SELA__XT1CLK + SELM__XT2CLK+ SELS__REFOCLK; 的时候,aclk, mclk , smclk 是对的。
使用  UCSCTL4 |= SELA__XT1CLK + SELM__REFOCLK+ SELS__REFOCLK;  的时候 aclk ,是对的, smclk , mclk 是1.04mhz, 可是refoclk 的10khz的的。
使用.............

交换配置 UCSCTL4的时候, 系统时钟不会和设置的smclk , mclk , 相对应,
熟悉ti的给个解释哦。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OIU

28

主题

81

帖子

0

粉丝