msp430的延时函数是怎么计算的
//当时钟为1MHZ时定时k*0.14ms/*voiddelay(uintk){uintj=140;while(k--)while(j--);}*/这到底是不是1MHZ时...
//当时钟为1MHZ时定时k*0.14ms
/*void delay(uint k)
{
uint j=140;
while(k--)
while(j--);
}*/
这到底是不是1MHZ时定时k*0.14ms
这个是我写的用时老觉得有点问题
在写驱动程序时老有这种delay()函数,但到底怎么看出来的呢,51可以通过编译软件来看出,但430怎么来看呢?IAR软件我怎么也找不到计算时间的方式
delayus();
delayms();
怎么写呢? 展开
/*void delay(uint k)
{
uint j=140;
while(k--)
while(j--);
}*/
这到底是不是1MHZ时定时k*0.14ms
这个是我写的用时老觉得有点问题
在写驱动程序时老有这种delay()函数,但到底怎么看出来的呢,51可以通过编译软件来看出,但430怎么来看呢?IAR软件我怎么也找不到计算时间的方式
delayus();
delayms();
怎么写呢? 展开
3个回答
展开全部
以下是MSP430的延迟
#define CPU_F ((double)32000000)//CPU主频 MCLK=32MHz
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) //微秒
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0)) //毫秒
#define CPU_F ((double)32000000)//CPU主频 MCLK=32MHz
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) //微秒
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0)) //毫秒
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是0.14+k*0.001ms
追问
你可能还没看清楚吧
while(k--)
后面没分号
追答
嗯 不好意思,你说的对
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询