|
AVR的一个奇怪问题。变量定义出错,改了下位置又可以了。怎么回事?
[复制链接]
变量定义写在引脚定义的后面就出错。写在开头可以编译通过。
- void main(void){
-
- unsigned char BT_FLG;
- DDRA = 0x00; /*方向输入*/
- PORTA = 0xFF; /*打开上拉*/
- DDRB = 0xFF; /*方向输出*/
- PORTB = 0xFF; /*高电平*/
- DDRC = 0x00;
- PORTC = 0xFF;
- DDRD = 0x00;
- PORTD = 0xFF;
- Uart_Init();
-
- //unsigned char BT_FLG;//写在这个位置就出错
复制代码
错误信息:
!E E:\AVR\示例程序\0010-UART-LED-B\b_uart.c(57): illegal statement termination
!E E:\AVR\示例程序\0010-UART-LED-B\b_uart.c(57): skipping `unsigned' `char'
!E E:\AVR\示例程序\0010-UART-LED-B\b_uart.c(57): undeclared identifier `BT_FLG'
!W E:\AVR\示例程序\0010-UART-LED-B\b_uart.c(57):[warning] expression with no effect elided
====================================
请问是编译器的原因还是单片机程序里位置有严格要求?
请解释下原因,谢谢。
|
|