尊敬的*:
我们已在 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。