This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430FG6626:XT2振荡器干扰 GPIO 引脚

Guru**** 2391415 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1248407/msp430fg6626-xt2-oscillator-interfering-with-gpio-pins

器件型号:MSP430FG6626

您好、我们通过代码中的以下设置在电路板上连接了一个 XT2:

P7SEL |= BIT2 | BIT3;            //端口选择 XT2IN/XT2OUT

 UCSCTL6 &=~XT2OFF;            //启用 XT2

//循环直到 XT1、XT2和 DCO 稳定
正确
{
//清除 XT2、XT1、DCO 故障标志
UCSCTL7 &=~( XT2OFFG | XT1LFOFFG | DCOFFG );

//清除故障标志
SFRIFG1 &=~OFIFG;

尝试次数--;
} while ((SFRIFG1和 OFIFG)&&尝试);

UCSCTL4 =(SELM__XT2CLK | SELS_REFOCLK | SELM__DCOCLKDIV);

P2DIR = BIT1;  
P2SEL = 0;
P2OUT = 0;  
P2IE = 0;

通过  SELA __XT2CLK、当我们将探针连接到 GPIO P2.0/P2.1等时、我们可以看到 XT2时钟输出到这些引脚、即使我们将 SEL 设置为0、

如果我们使用另一个时钟源、例如 SELM__DCOCLK 或 SELM__REFOCLK、则不会这样做。

使用 XT2时、它是否始终设置为覆盖 GPIO 设置并输出到该设置?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Quan:

    我建议在此处进行两次测试:1在  寄存器查看器中仔细检查调试模式下的 P2SEL 寄存器值。 2.按照您提到的那样更改时钟源 SELA __DCOCLK 或 SELA _REFOCLK、并在代码中切换 P2.0以查看其是否工作

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我检查了 P2SEL、它确实为0、如果我使用 SELA _DCOCLOCK 或 SELA _REFOCLK 并将 P2SEL 设置为0、我可以正常切换 GPIO、类似于(;;){P2OUT ^= 1}、这样就可以了 (它的速度是 CPU 速度的一小部分)。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    很抱歉响应延迟、您能帮助在您的电路板上运行我们的演示代码吗?

    https://dev.ti.com/tirex/explore/node?node=A__ANCjvWP7A.mcSg1pAkBeZQ__msp430ware__IOGqZri__LATEST