| 
 
| 
 在gcc+avrstudio
 中编耄?
 #include <avr/io.h>
 unsigned char add(unsigned char b,unsigned char c,unsigned char d)
 {
 return b+c*d;
 }
 register unsigned char a asm("r20"); //将r20 定义为 变量a
 int main(void)
 {
 while(1)
 {
 a++;
 PORTB=add(a,a,a);
 }
 }
 
 
 优化级别选为01,02,03,0s都没有问题,能够正常编译
 但是调为00的时候就会报错:
 ../rtos_tmp2.c:6: error: global register variable follows a function definition
 问题出在这个语句上:
 register unsigned char a asm("r20"); //将r20 定义为 变量a
 
 
 望有人能给个解释,期待中!
 
 
 | 
 |