msp430时钟源问题,MCLK好像怎么都设置不对,目的是把指令执行时间调到1us。以下是代码
#include"msp430x14x.h"unsignedchari=0;voiddelay(unsignedintz){while(z--);}voidmain(){...
#include"msp430x14x.h"
unsigned char i=0;
void delay(unsigned int z)
{
while(z--);
}
void main()
{
P2DIR=0xff;P2OUT=0xff;
WDTCTL=WDTPW+WDTHOLD;//关闭看门狗
BCSCTL1&=~XT2OFF;
do
{
IFG1 &= ~OFIFG; //清除晶振失败标志
for (i = 0xFF; i > 0; i--); //等待8MHz晶体起振
}
while ((IFG1 & OFIFG)); //晶振失效标志仍然存在?
BCSCTL2=SELM1+SELS+DIVM_3+DIVS_3; //SMCLK MCLK使用XT2外部8M晶振源 同时八分频
while(1)
{
P2OUT=0xf7;
delay(50000) ; //相邻两次闪烁不是间隔50ms吗?
P2OUT=0xff; //为什么是500ms,那不就成了使用了800kHZ的内部时钟源吗
delay(50000);
}
} 展开
unsigned char i=0;
void delay(unsigned int z)
{
while(z--);
}
void main()
{
P2DIR=0xff;P2OUT=0xff;
WDTCTL=WDTPW+WDTHOLD;//关闭看门狗
BCSCTL1&=~XT2OFF;
do
{
IFG1 &= ~OFIFG; //清除晶振失败标志
for (i = 0xFF; i > 0; i--); //等待8MHz晶体起振
}
while ((IFG1 & OFIFG)); //晶振失效标志仍然存在?
BCSCTL2=SELM1+SELS+DIVM_3+DIVS_3; //SMCLK MCLK使用XT2外部8M晶振源 同时八分频
while(1)
{
P2OUT=0xf7;
delay(50000) ; //相邻两次闪烁不是间隔50ms吗?
P2OUT=0xff; //为什么是500ms,那不就成了使用了800kHZ的内部时钟源吗
delay(50000);
}
} 展开
2个回答
厦门君韦信息技术
2024-11-18 广告
2024-11-18 广告
厦门君韦信息技术有限公司成立于2015年,是一家致力于提供专业服务的电子元件分销商,具有业界先进的质量和可靠性、强大的搜索供应实力、专业的服务能力。厦门君韦主要深耕于图像识别技术研究与开发,同时助推于通信、工控、电力、汽车等行业客户的供应链...
点击进入详情页
本回答由厦门君韦信息技术提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询