尊敬的*:
我们已在 MSP430FR2353的 XIN 引脚上连接24MHz 振荡器。
我无法将 MCLK 设置为24MHz、我观察到引脚 P2.6为 MCLK 输出、并且我将获得1MHz (可能是下降模式)
CS 初始化时是否出现问题?
代码
#include #include void init_CS(); /** * main.c */ int main (void) { volatile uint32_t i; //停止看门狗计时器 WDT_A_HOLD (WDT_A_base); //禁用 GPIO 上电默认高阻抗模式 //激活先前配置的端口设置 PMM_unlockLPM5 (); //初始化外部 XT1CLK = 24MHz init_CS(); // P2.6上的输出 MCLK P2DIR |= BIT6; //将 P2.6配置为输出方向引脚 P2SEL0 |= BIT6; //选择 P2.6作为 MCLK 输出 P2SEL1 &=~(BIT6); //选择 P2.6作为 MCLK 输出 //将 P6.1设置为输出方向 GPIO_setAsOutputPin ( GPIO_PORT_P6、 GPIO_PIN1 ); while (1) { //切换 P6.1输出 GPIO_toggleOutputOnPin ( GPIO_PORT_P6、 GPIO_PIN1 ); //延迟 for (i=10000;i>0;i--); } } void init_CS() { //CSCTL4 //为 ACLK、MCLK、SMCLK 设置 XT1CLK 源 CSCTL4 = SELMS_XT1CLK | SELA_XT1CLK; /CSCTL5 // SMCLK 开启| SMCLK DIV = 1 | MCLK DIV = 1 CSCTL5 = SMCLKOFF _0 | DIVS_0 | DIVM_0; /CSCTL6 // EN XT1故障| ACLK = MCLK/768 | HDS | HF 模式| XT1 EXT | 24MHz CSCTL6 = XT1FAULTFF_0 | DIV_8 | XT1DRIVE_3 | XTS_1 | XT1BYPASSS_1 | XT1HFFREQ_3; /CSCTL7 //清除 XT1故障标志 CSCTL7 &=~(XT1OFFG); }
此致、
David。