我需要你的帮助
我正在使用 AVR studio 7 尝试 atmega128a
但是有一个问题
当我控制 DDRB 和 PORTB 进入 main()
它工作正常
但是如果我在 main() 之外控制 DDRB 和 PORTB
如果变成错误
'预期的标识符或'('在 volatile 之前'
我只想知道为什么总是在 main() 中处理 DDRB 和 PORTB
这是我的代码
#define F_CPU 14745600UL
#include <avr/io.h>
#include <util/delay.h>
DDRB = 0xFF;
PORTB = 0x00;
int main(void)
{
/* Replace with your application code */
PORTB = 0x01;
_delay_ms(300);
while (1)
{
PORTB <<= 1;
_delay_ms(300);
if(PORTB == 0x80){
PORTB = 0x01;
_delay_ms(300);
}
}
}