关于延时程序的问题

2019-03-24 15:31发布

请问void Delay_ms(unsigned long nValue)//毫秒为单位,8MHz为主时钟
{
    unsigned long nCount;
    int i;
    unsigned long j;
    nCount = 2667;
    for(i = nValue;i > 0;i--)
    {
     for(j = nCount;j > 0;j--);
    }
    return;
}
中2667如何得来的 ,是一条指令需要3个时钟周期么,2667=8000/3,对吗?
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
永远的不知
2019-03-24 21:21
< :TI_MSP430_内容页_SA7 --> 这种写法在被不同编译器优化时,或不同的优化等级优化时,有可能会出现不同的汇编代码,导致时间有差异。所以还是用定时器好。

一周热门 更多>

相关问题

    相关文章