|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
我用GCC編譯時(shí)總出錯(cuò),各位高手指點(diǎn)一下。 |
| 作者:bn777 欄目:單片機(jī) |
> "make.exe" all -------- begin -------- avr-gcc (GCC) 3.4.3 COPYRIGHT (C) 2004 Free SOFTWARE Foundation, Inc. This is free SOFTWARE; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiling: main.c avr-gcc -c -mmcu=ATMEGA8 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -funsigned-CHAR -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=main.lst -std=gnu99 -MD -MP -MF .dep/main.o.d main.c -o main.o main.c:10: warning: excess elements in array initializer main.c:10: warning: (near initialization for `word_num') main.c: In function `save': main.c:40: warning: array subscript has type `CHAR' main.c:40: warning: array subscript has type `CHAR' main.c:47: warning: array subscript has type `CHAR' main.c: In function `load': main.c:59: warning: array subscript has type `CHAR' main.c:59: warning: array subscript has type `CHAR' main.c:59: warning: cast to pointer from integer of different size main.c:66: warning: array subscript has type `CHAR' main.c:66: warning: cast to pointer from integer of different size main.c: In function `disp': main.c:83: warning: array subscript has type `CHAR' main.c:83: warning: array subscript has type `CHAR' main.c: In function `DS1302_GET': main.c:203: error: too few arguments to function `twi_wb' main.c:201: warning: unused variable `i' main.c: In function `DS1302_PUT': main.c:211: warning: array subscript has type `CHAR' main.c: At top level: main.c:215: warning: return type of 'main' is not `int' main.c:225:2: warning: no newline at end of file make.exe: *** [main.o] Error 1 > PROCESS Exit Code: 2 |
| 2樓: | >>參與討論 |
| 作者: javie 于 2005/12/1 13:07:00 發(fā)布:
哥們你把你的相關(guān)代碼貼出來(lái)看看呀 |
|
| 3樓: | >>參與討論 |
| 作者: bn777 于 2005/12/1 13:17:00 發(fā)布:
幫忙看看 #include<avr/io.h> #include<inttypes.h> #include<avr/pgmspace.h> #include<stdio.h> #include<avr/eeprom.h> #include<compat/twi.h> #include<math.h> #include<avr/delay.h> CHAR disp_buf[4]={0,1,2,3}; CHAR word_num[13]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x8e/*f*/,0xc6/*c*/,0x89/*h*/,0xff/*滅*/}; CHAR channel_data[4][4]; CHAR NUMBER=0; CHAR pub_data[8]; CHAR a; CHAR b; CHAR c; CHAR TEMP; int epr_add; void lon(void) { } void lat(void) { } void oper(void) { } void save(void) { epr_add=0; for(a=0;a<4;a++) { for(b=0;b<4;b++) { while(!(eeprom_is_ready())); _EEPUT(epr_add,channel_data[a][b]); epr_add++; } } for(a=0;a<8;a++) { while(!(eeprom_is_ready())); _EEPUT(epr_add,pub_data[a]); epr_add++; } } void load(void) { epr_add=0; for(a=0;a<4;a++) { for(b=0;b<12;b++) { while(!(eeprom_is_ready())); _EEGET(epr_add,channel_data[a][b]); epr_add++; } } for(a=0;a<8;a++) { while(!(eeprom_is_ready())); _EEGET(epr_add,pub_data[a]); epr_add++; } } void init(void) { DDRB=0X3F; DDRC=0X0C; DDRD=0XE0; PORTC|=0X30; TWBR=73; load(); } void disp(void) { for(a=0;a<4;a++) { TEMP=word_num[disp_buf][a]]; for(b=0;b<8;b++) { PORTB&=0XFB; if(TEMP&0x80) { PORTB|=0x08; } else { PORTB&=0xf7; } PORTB|=_BV(PC2); TEMP=TEMP<<1; } PORTB&=0XFB; } } void manual(void) { PORTB|=_BV(PB1); while(bit_is_clear(PIND,PD4)); while(bit_is_set(PIND,PD4)) { if(bit_is_clear(PINC,PC0)) { if(bit_is_set(PIND,PD5)) PORTD&=0XDF; else PORTD|=_BV(PD5); while(bit_is_clear(PINC,PC0)); } if(bit_is_clear(PINC,PC1)) { if(bit_is_set(PIND,PD6)) PORTD&=0XBF; else PORTD|=_BV(PD6); while(bit_is_clear(PINC,PC1)); } if(bit_is_clear(PIND,PD2)) { if(bit_is_set(PIND,PD7)) PORTD&=0X7F; else PORTD|=_BV(PD7); while(bit_is_clear(PIND,PD2)); } if(bit_is_clear(PIND,PD3)) { if(bit_is_set(PINB,PB0)) PORTB&=0XFE; else PORTB|=_BV(PB0); while(bit_is_clear(PIND,PD3)); } } PORTB&=0XFD; while(bit_is_clear(PIND,PD4)); } void set(void) { CHAR f_num=1; PORTB|=_BV(PB2); while(bit_is_clear(PINC,PC0)); while(bit_is_set(PIND,PD3)) { disp_buf[3]=10; disp_buf[2]=13; disp |
|
| 4樓: | >>參與討論 |
| 作者: zsmbj 于 2005/12/1 14:31:00 發(fā)布:
至少有2處錯(cuò)誤 main.c:10: warning: (near initialization for `word_num') word_num[]為一維數(shù)組,調(diào)用是缺使用2維調(diào)用?? main.c:203: error: too few arguments to function `twi_wb' CHAR twi_wb(CHAR d)函數(shù)有參數(shù)有返回,而void DS1302_GET(void)里調(diào)用缺沒(méi)有參數(shù)? 建議你好好的把自己的程序給弄一下吧,感覺(jué)有點(diǎn)亂。 |
|
| 5樓: | >>參與討論 |
| 作者: bn777 于 2005/12/1 15:39:00 發(fā)布:
解決!老兄果然是高手。 佩服!佩服! |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |