1 / 10
文档名称:

《快乐的音乐会》 课件2.ppt

格式:ppt   大小:1,590KB   页数:10页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

《快乐的音乐会》 课件2.ppt

上传人:liwenfei1314 2017/12/18 文件大小:1.55 MB

下载得到文件列表

《快乐的音乐会》 课件2.ppt

相关文档

文档介绍

文档介绍:早就知道AVR的编译器有自带的延时子函数(或者说是头文件),但一直没时间一探究竟,今天终于揭开了其内幕。
AVR编译器众多,可谓是百家齐鸣,本人独尊WinAVR.
说明:编译器版本WinAVR-20080610
,进去一看果然有,可打开一看,其曰:“This file has been moved to <util/>."
在util文件夹中找到delay头文件如下:
--------------------------------------------------------------------------------------------------------------------------------------------
void
_delay_us(double __us)
{
uint8_t __ticks;
double __tmp = ((F_CPU) / 3e6) * __us; //3e6=3000000
if (__tmp < )
   __ticks = 1;
else if (__tmp > 255)
{
   _delay_ms(__us / );
   return;
}
else
   __ticks = (uint8_t)__tmp;
_delay_loop_1(__ticks);
}
-----------------------------------------------------------------------------------------------------------------------------------------------
_delay_ms(double __ms)
{
uint16_t __ticks;
double __tmp = ((F_CPU) / 4e3) * __ms;
if (__tmp < )
   __ticks = 1;
else if (__tmp > 65535)
{
   // __ticks = requested delay in 1/10 ms
   __ticks = (uint16_t) (__ms * );
   while(__ticks)
   {
    // wait 1/10 ms
    _delay_loop_2(((F_CPU) / 4e3) / 10);
    __ticks --;
   }
   return;
}
else
   __ticks = (uint16_t)__tmp;
_delay_loop_2(__ticks);
}
1、分析程序发现上面两个子函数,分别using _delay_loop_1() and using_delay_loop2()
2、还有一点,用此头文件时,必须设置主频和优化项,否则会出现如下提示:
   #ifndef F_CPU
   /* piler error by supplying a default */
   # warning "F_C