共2条
1/1 1 跳转至页
msp430f149 请教一个msp430f149的问题
问
我要用MSP430f149的XT2作主时钟,以下是用的程序
#include <MSP430x14x.h>
void main(void)
{
unsigned char i;
WDTCTL=WDTPW+WDTHOLD; //关闭看门狗
do
{
IFG1 &= ~OFIFG; // Clear OSCFault flag
for (i = 0xFF; i > 0; i--); // Time for flag to set
}
while ((IFG1 & OFIFG) == OFIFG); // OSCFault flag still set?
BCSCTL1&=~XT2OFF;
BCSCTL2 |= SELM1;
P5DIR|=BIT4;
P5SEL|=BIT4;
}
我XT2接的是4M晶振
但是我通过测试P5.4发现MCLOCK不是4M,而是DCO 800K的频率,请问,问题出在哪 答 1: 可能是振荡器失效,DCO自动作为MCLK吧! 答 2: 看看这样行不行
#include <MSP430x14x.h>
void main(void)
{
unsigned char i;
WDTCTL=WDTPW+WDTHOLD; //关闭看门狗
BCSCTL1&=~XT2OFF;
BCSCTL2 |= SELM1;
do
{
IFG1 &= ~OFIFG; // Clear OSCFault flag
for (i = 0xFF; i > 0; i--); // Time for flag to set
}
while ((IFG1 & OFIFG) == OFIFG); // OSCFault flag still set?
P5DIR|=BIT4;
P5SEL|=BIT4;
} 答 3: 应该是先设置再等待晶振启动。你还可以通过OSCFault flag 检查晶振是否工作正常。
#include <MSP430x14x.h>
void main(void)
{
unsigned char i;
WDTCTL=WDTPW+WDTHOLD; //关闭看门狗
do
{
IFG1 &= ~OFIFG; // Clear OSCFault flag
for (i = 0xFF; i > 0; i--); // Time for flag to set
}
while ((IFG1 & OFIFG) == OFIFG); // OSCFault flag still set?
BCSCTL1&=~XT2OFF;
BCSCTL2 |= SELM1;
P5DIR|=BIT4;
P5SEL|=BIT4;
}
我XT2接的是4M晶振
但是我通过测试P5.4发现MCLOCK不是4M,而是DCO 800K的频率,请问,问题出在哪 答 1: 可能是振荡器失效,DCO自动作为MCLK吧! 答 2: 看看这样行不行
#include <MSP430x14x.h>
void main(void)
{
unsigned char i;
WDTCTL=WDTPW+WDTHOLD; //关闭看门狗
BCSCTL1&=~XT2OFF;
BCSCTL2 |= SELM1;
do
{
IFG1 &= ~OFIFG; // Clear OSCFault flag
for (i = 0xFF; i > 0; i--); // Time for flag to set
}
while ((IFG1 & OFIFG) == OFIFG); // OSCFault flag still set?
P5DIR|=BIT4;
P5SEL|=BIT4;
} 答 3: 应该是先设置再等待晶振启动。你还可以通过OSCFault flag 检查晶振是否工作正常。
共2条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 设备功耗web监控界面(ESP32C5)被打赏¥28元 | |
| OrangePiZero2W系统被打赏¥33元 | |
| Linux环境下以模拟方式快速实现出入管理功能测试被打赏¥24元 | |
| 树莓派3+Klipper,老3D打印机满血升级被打赏¥33元 | |
| OK1126B-S开发板下串口屏及其应用被打赏¥21元 | |
| 低功耗超声波液位测距仪(ESP32S3)被打赏¥27元 | |
| 在K230DBOX上实现多时段语音提示功能被打赏¥14元 | |
| 使K230DBOX实现相机持续拍照功能被打赏¥12元 | |
| 基于K230DBOX的文本管理器设计被打赏¥14元 | |
| 基于K230DBOX的彩色画板功能实现被打赏¥15元 | |
我要赚赏金
