atmega16中延时设定时间怎么是实际延时的一半?

2019-03-24 20:58发布

   最近开始学习avr,网上atmega16视频多,所以就从它下手了。写了个灯闪烁的程序。用的WinAVR. #include <avr/io.h>
#include <util/delay.h> int main()
{
  DDRD=0xFF;//PORTD口设为输出
  DDRC=0xFF;  while(1)
  {
    PORTD^=_BV(PD0); //PD0亮
 _delay_ms(10);           //延时10ms, 问题就在这里。 在debug时(avrstudio), 发现这里实际是延时了20ms,才执行下一步程序。这是为什么呢?敬请详解 PORTC^=_BV(PC0);    //PC0亮

  }
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。