430单片机精确延时

2019-07-19 13:16发布

我在430单片机的intrinsics.h头文件里找到这个__intrinsic void __delay_cycles(unsigned long __cycles);精确延时函数,里面的cycles应该填写系统机器周期。
问题如下:我想请教#define Delay_ms(x) __delay_cycles((unsigned long)((unsigned int)x*1000000)/1000);与#define Delay_ms(x) __delay_cycles((unsigned long)((unsigned int)x*1000));有什么区别吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
dengdc
1楼-- · 2019-07-19 17:50
楼主详细说说怎么回事啊,这么说太笼统了
yszong
2楼-- · 2019-07-19 18:20
我用前一句延时可以做出Delay_ms(500)这样的500ms延时,但是用后一句的话,延时时间连几十ms(估计值,未测)都不到,非常快就过去了。是哪里出了问题呢?
shimx
3楼-- · 2019-07-19 23:37
 精彩回答 2  元偷偷看……
yszong
4楼-- · 2019-07-20 03:21
ps:晶振8M,8分频,主系统和子系统时钟都1M。
午夜粪车
5楼-- · 2019-07-20 06:01
这个跟单片机的主频是相关的
huangchui
6楼-- · 2019-07-20 07:30
MSP430:
unsigned int(16 bit) --> unsigned long(32 bit)

一周热门 更多>