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 16:11
dcexpert 发表于 2015-12-23 22:30
这与AS7无关,是C编译器的问题。为了得到最好的效率和精度,使用了汇编做延时,就只能使用常数。

如果 ...

谢谢了

一周热门 更多>