我用的片子是G2553,我写的简单的语句延时为什么单片机不执行呢。

2019-03-24 13:26发布

我用的片子是G2553,我写的简单的语句延时为什么单片机不执行呢。
void DelayUs(unsigned char us)   //delay us
{
   for(;us>0;us--);
}
希望大家知道的解释一下! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12条回答
ccstc
2019-03-25 16:53
建议使用下面的延时函数
  1. #define F_CPU    ((double)8000000)


  2. #define _delay_us(x)
  3.   __delay_cycles( (unsigned long) ( (double)(F_CPU) *((x)/1000000.0) + 0.5))


  4. #define _delay_ms(x)
  5.   __delay_cycles( (unsigned long) ( (double)(F_CPU)*((x)/1000.0) + 0.5))


  6. #define _delay_s(x)
  7.   __delay_cycles( (unsigned long) ( (double)(F_CPU)*((x)/1.0) + 0.5))

  8. #endif
复制代码

一周热门 更多>

相关问题

    相关文章