永发信息网

msp430时钟源问题,MCLK好像怎么都设置不对,目的是把指令执行时间调到1us。以下是代码

答案:2  悬赏:40  手机版
解决时间 2021-03-06 02:45
#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);

}

}
最佳答案
void delay(unsigned int z)
{
while(z--);
}
这个函数的延时精度你要测试一下,或者通过反汇编看下指令就知道了。
一条单指令是1us,但是一个while(z--);汇编时由多条指令组成,估计需要10us执行完毕,所以你的参数50000×10us=500ms
全部回答
是相互独立的,dco是利用单片机内部振荡器产生的,如可以设置为1m,8m,16m
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
青岛多彩扎啤美食花园地址在哪,我要去那里办
佛弟子不慎怀孕,孩子不能留,但是不能堕胎,
【墨西哥坎昆】墨西哥城和坎昆分别位于什么气
为什么别人听起来一样的声音我听起来不一样?
支点和圣剑哪个好
露友体育怎么去啊,有知道地址的么
月亮的特殊符号怎么打?
怎么检测室内空气质量?标准是多少
前苏联从20世纪20年代末开始,长期实行工农业
高一英语 第六题
韭菜不生根是怎么回事
下面说一真事,假如发生你身上会怎样:你把全
1986年1月18日出生,到2015年二月8日虚岁是几
为什么会非对称降息,这样做会有什么影响 ?
香蜡加盟店就是专卖各种佛香和蜡烛的
推荐资讯
求好看的三国穿越小说,貂蝉,大小乔都被男主
患者,女,21岁,未婚。月经17岁初潮,量少、
1991年都有什么大事件? 我是1991年出生的喔~
蝶蛾类雌虫用来吸引雄虫交尾的“语言”是AA.
标志301油表显示油量可行驶公里数不符
刚买的电脑为什么每次开机网络都要重连一次?
丝路传说罗马战士
细菌能引起人和动物患病,因此细菌对人类有害
莲藕与什么相克
【求速答】在濮阳坐16路公交车到濮阳文化艺术
60码超10%等于66码是怎么算出来的?不是100的
翻译成韩文谢谢
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?