Atmel Studio 7.0延时参数问题

2019-03-24 20:21发布

#include <avr/io.h>
#define F_CPU 8000000UL
#include <util/delay.h>
double a=500;
int main(void)
{
_delay_ms(a);
while (1)
    {
     }
}

用Atmel Studio 7.0编译这段程序编译通不过,报错
__builtin_avr_delay_cycles expects a compile time integer constant

但是把double a=500;移到main函数内就可以编译通过

这个是什么原因,希望哪位高手解析一下。

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
bearphant
2019-03-25 11:55
dcexpert 发表于 2015-12-23 20:49
delay函数不能用变量,智能用常数。打开头文件看看就清楚了。

变量是可以用的,把变量定义放到main函数内就可以用,认为三楼的说法靠谱

一周热门 更多>