求IAR for MSP430的精确延时方法,不用定时器

2019-03-24 15:51发布

最近在学习MSP430F149,考虑到实用简便性,急需精确的软件延时程序。 
在此附上IAR for AVR 的软件精确延时程序 

#ifndef __delay_h 
#define __delay_h 
#include <intrinsics.h> 
#define   XTAL   11.0592   //可定义为你所用的晶振频率(单位Mhz) 

#define   delay_us(x)   __delay_cycles ( (unsigned long)(x * XTAL)  )  
#define   delay_ms(x)   __delay_cycles ( (unsigned long)(x * XTAL*1000) ) 
#define   delay_s(x)    __delay_cycles ( (unsigned long)(x * XTAL*1000000) ) 
#endif 

但是IAR for MSP430内没有 intrinsics.h这个文件,不能用__delay_cycles()这个指令。。。。 

希望有解决办法的大牛们帮个忙!!
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
aida66
1楼-- · 2019-03-24 22:25
咋没人回复哩。。。自己顶一个。。。。
whgwuhan
2楼-- · 2019-03-25 03:17
 精彩回答 2  元偷偷看……
fanfan1308
3楼-- · 2019-03-25 09:01
我的f2274也有这个问题
wuzhongbaby
4楼-- · 2019-03-25 10:55
我感觉实现起来不太现实,因为cpu运行的时候可以有好几个时钟选择,这要看你具体选择哪一个时钟了,计算出你想要的时间,再去用这个延时函数,个人感觉还是用定时器比较好,选一个比较容易分频的时钟,稍微计算下就好,还有就是在cpu启动的时候默认是dco,这个内部晶振频率是一个范围,没有外部晶振来的精确,受温度电压影响较大(资料写的),很不好控制。
3g465
5楼-- · 2019-03-25 13:39
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章