|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
中斷函數(shù)的定義問題 |
| 作者:單片機電源 欄目:單片機 |
中斷函數(shù)可以定義成void Interrupt ISR(void);嗎? 為什么在定義了之后,編譯時提示出錯: Clean: Deleting intermediary and OUTPUT files. Clean: Deleted file "E:\MICROCHIP\C Language\BATTERY Check.obj". Clean: Deleted file "E:\MICROCHIP\C Language\BATTERY Check.cce". Clean: Deleted file "E:\MICROCHIP\C Language\Main.obj". Clean: Deleted file "E:\MICROCHIP\C Language\Main.cce". Clean: Deleted file "E:\MICROCHIP\C Language\Status_Check.obj". Clean: Deleted file "E:\MICROCHIP\C Language\Status_Check.cce". Clean: Deleted file "E:\MICROCHIP\C Language\Interrupt.cce". Clean: Done. Executing: "C:\HT-PIC\BIN\PICC.EXE" -C -E"BATTERY Check.cce" "BATTERY Check.c" -O"BATTERY Check.obj" -Zg9 -O -ASMLIST -Q -MPLAB -16F73 Executing: "C:\HT-PIC\BIN\PICC.EXE" -C -E"Main.cce" "Main.c" -O"Main.obj" -Zg9 -O -ASMLIST -Q -MPLAB -16F73 Error[000] E:\MICROCHIP\C Language\Interrupt.h 23 : ONLY functions may be void Error[000] E:\MICROCHIP\C Language\Interrupt.h 23 : , expected Warning[000] E:\MICROCHIP\C Language\Main.c 78 : unused variable definition: count_ad (from LINE 13) Warning[000] E:\MICROCHIP\C Language\Main.c 78 : unused variable definition: ad_max (from LINE 14) Warning[000] E:\MICROCHIP\C Language\Main.c 78 : unused variable definition: ad_min (from LINE 14) Warning[000] E:\MICROCHIP\C Language\Main.c 78 : unused variable definition: ad_resutl_buf (from LINE 14) Warning[000] E:\MICROCHIP\C Language\Main.c 78 : unused variable definition: ad_result_temp (from LINE 13) Warning[000] E:\MICROCHIP\C Language\Main.c 78 : unused variable definition: status_a (from LINE 24) Halting build on first failure as requested. BUILD FAILED: Tue Apr 10 14:24:11 2007 還有后面的告警是怎么回事?我已經(jīng)在頭文件中定義了這些變量! 我的source files里有7個模塊文件。 |
| 2樓: | >>參與討論 |
| 作者: yewuyi 于 2007/4/10 15:42:00 發(fā)布:
void interrupt ISR(void){} Error[000] E:\MICROCHIP\C Language\Interrupt.h 23 : , expected 提示你寫錯了標號,寫成‘,’了,下面的報錯有可能是這個引起的,改一下重編譯看看 |
|
| 3樓: | >>參與討論 |
| 作者: 單片機電源 于 2007/4/10 16:48:00 發(fā)布:
我在頭文件中屏蔽掉void interrupt ISR(void);語句 就沒有這個提示了,但是又會提示變量重復定義 Executing: "C:\HT-PIC\BIN\PICC.EXE" -C -E"BATTERY Check.cce" "BATTERY Check.c" -O"BATTERY Check.obj" -I"C:\HT-PIC\include" -Zg9 -O -ASMLIST -Q -MPLAB -16F73 Warning[000] E:\MICROCHIP\C Language\BATTERY Check.c 104 : unused variable definition: status_a (from LINE 72) Warning[000] E:\MICROCHIP\C Language\BATTERY Check.c 104 : unused variable definition: status_b (from LINE 82) Executing: "C:\HT-PIC\BIN\PICC.EXE" -C -E"Interrupt.cce" "Interrupt.c" -O"Interrupt.obj" -I"C:\HT-PIC\include" -Zg9 -O -ASMLIST -Q -MPLAB -16F73 Warning[000] E:\MICROCHIP\C Language\Interrupt.c 100 : unused variable definition: fault_battery (from LINE 50) Warning[000] E:\MICROCHIP\C Language\Interrupt.c 100 : unused variable definition: status_a (from LINE 72) Warning[000] E:\MICROCHIP\C Language\Interrupt.c 35 : undefined shift (17 bits) Executing: "C:\HT-PIC\BIN\PICC.EXE" -C -E"Main.cce" "Main.c" -O"Main.obj" -I"C:\HT-PIC\include" -Zg9 -O -ASMLIST -Q -MPLAB -16F73 Warning[000] E:\MICROCHIP\C Language\Main.c 78 : unused variable definition: count_ad (from LINE 13) Warning[000] E:\MICROCHIP\C Language\Main.c 78 : unused variable definition: ad_max (from LINE 14) Warning[000] E:\MICROCHIP\C Language\Main.c 78 : unused variable definition: ad_min (from LINE 14) Warning[000] E:\MICROCHIP\C Language\Main.c 78 : unused variable definition: ad_resutl_buf (from LINE 14) Warning[000] E:\MICROCHIP\C Language\Main.c 78 : unused variable definition: ad_result_temp (from LINE 13) Warning[000] E:\MICROCHIP\C Language\Main.c 78 : unused variable definition: status_a (from LINE 72) Executing: "C:\HT-PIC\BIN\PICC.EXE" -C -E"Status_Check.cce" "Status_Check.c" -O"Status_Check.obj" -I"C:\HT-PIC\include" -Zg9 -O -ASMLIST -Q -MPLAB -16F73 Warning[000] E:\MICROCHIP\C Language\Status_Check.c 38 : unused variable definition: fault_battery (from LINE 50) Executing: "C:\HT-PIC\BIN\PICC.EXE" -C -E"Timer 0.cce" "Timer 0.c" -O"Timer 0.obj" -I"C:\HT-PIC\include" -Zg9 -O -ASMLIST -Q -MPLAB -16F73 Warning[000] E:\MICROCHIP\C Language\Timer 0.c 9 : unused variable definition: fault_battery (from LINE 50) Warning[000] E:\MICROCHIP\C Language\Timer 0.c 9 : unused variable definition: status_a (from LINE 72) Warning[000] E:\MICROCHIP\C Language\Timer 0.c 9 : unused variable definition: status_b (from LINE 82) Executing: "C:\HT-PIC\BIN\PICC.EXE" -C -E"UART.cce" "UART.c" -O"UART.obj" -I"C:\HT-PIC\include" -Zg9 -O -ASMLIST -Q -MPLAB -16F73 Warning[000] E:\MICROCHIP\C Language\UART.c 10 : unused variable definition: fault_battery (from LINE 50) Warning[000] E:\MICROCHIP\C Language\UART.c 10 : unused variable definition: status_a (from LINE 72) Warning[000] E:\MICROCHIP\C Language\UART.c 10 : unused variable definition: status_b (from LINE 82) Executing: "C:\HT-PIC\BIN\PICC.EXE" -C -E"Work.cce" "Work.c" -O"Work.obj" -I"C:\HT-PIC\include" -Zg9 -O -ASMLIST -Q -MPLAB -16F73 Warning[000] E:\MICROCHIP\C Language\Work.c 81 : unused variable definition: status_a (from LINE 72) Warning[000] E:\MICROCHIP\C Language\Work.c 81 : unused variable definition: status_b (from LINE 82) Executing: "C:\HT-PIC\BIN\PICC.EXE" -E"1.lde" "E:\MICROCHIP\C Language\BATTERY Check.obj" "E:\MICROCHIP\C Language\Interrupt.obj" "E:\MICROCHIP\C Language\Main.obj" "E:\MICROCHIP\C Language\Status_Check.obj" "E:\MICROCHIP\C Language\Timer 0.obj" "E:\MICROCHIP\C Language\UART.obj" "E:\MICROCHIP\C Language\Work.obj" -M"1.map" -O"1.cof" -O"1.hex" -Q -MPLAB -16F73 Error[000] E:\MICROCHIP\C Language\Interrupt.obj 28 : multiply defined symbol: _ubat (E:\MICROCHIP\C Language\BATTERY Check.obj) Error[000] E:\MICROCHIP\C Language\Interrupt.obj 28 : multiply defined symbol: _n_fault (E:\MICROCHIP\C Language\BATTERY Check.obj) Error[000] E:\MICROCHIP\C Language\Interrupt.obj 28 : multiply defined symbol: _datrx (E:\MICROCHIP\C Language\BATTERY Check.obj) Error[000] E:\MICROCHIP\C Language\Interrupt.obj 28 : multiply defined symbol: _dattx (E:\MICROCHIP\C Language\BATTERY Check.obj) Error[000] E:\MICROCHIP\C Language\Main.obj 20 : multiply defined symbol: _time_relay (E:\MICROCHIP\C Language\Interrupt.obj) Error[000] E:\MICROCHIP\C Language\Main.obj 20 : multiply defined symbol: _i_rx (E:\MICROCHIP\C Language\Interrupt.obj) Error[000] E:\MICROCHIP\C Language\Main.obj 20 : multiply defined symbol: _i_tx (E:\MICROCHIP\C Language\Interrupt.obj) Error[000] E:\MICROCHIP\C Language\Main.obj 20 : multiply defined symbol: _ubat (E:\MICROCHIP\C Language\BATTERY Check.obj) Error[000] E:\MICROCHIP\C Language\Main.obj 20 : multiply defined symbol: _time_hour (E:\MICROCHIP\C Language\Interrupt.obj) Error[000] E:\MICROCHIP\C Language\Main.obj 20 : multiply defined symbol: _n_fault (E:\MICROCHIP\C Language\BATTERY Check.obj) Error[000] E:\MICROCHIP\C Language\Main.obj 20 : multiply defined symbol: _datrx (E:\MICROCHIP\C Language\BATTERY Check.obj) Error[000] E:\MICROCHIP\C Language\Main.obj 20 : multiply defined symbol: _dattx (E:\MICROCHIP\C Language\BATTERY Check.obj) Error[000] E:\MICROCHIP\C Language\Main.obj 20 : multiply defined symbol: _n_bat (E:\MICROCHIP\C Language\BATTERY Check.obj) Error[000] E:\MICROCHIP\C Language\Main.obj 21 : multiply defined symbol: _count_100ms (E:\MICROCHIP\C Language\Interrupt.obj) Error[000] E:\MICROCHIP\C Language\Main.obj 21 : multiply defined symbol: _count_500ms (E:\MICROCHIP\C Language\Interrupt.obj) Error[000] E:\MICROCHIP\C Language\Status_Check.obj 18 : multiply defined symbol: _datrx (E:\MICROCHIP\C Language\BATTERY Check.obj) Error[000] E:\MICROCHIP\C Language\Status_Check.obj 18 : multiply defined symbol: _dattx (E:\MICROCHIP\C Language\BATTERY Check.obj) Error[000] E:\MICROCHIP\C Language\Timer 0.obj 14 : multiply defined symbol: _time_relay (E:\MICROCHIP\C Language\Interrupt.obj) Error[000] E:\MICROCHIP\C Language\Timer 0.obj 14 : multiply defined symbol: _time_hour (E:\MICROCHIP\C Language\Interrupt.obj) Error[000] E:\MICROCHIP\C Language\Timer 0.obj 14 : multiply defined symbol: _count_100ms (E:\MICROCHIP\C Language\Interrupt.obj) Error[000] E:\MICROCHIP\C Language\Timer 0.obj 14 : multiply defined symbol: _count_500ms (E:\MICROCHIP\C Language\Interrupt.obj) Error[000] E:\MICROCHIP\C Language\UART.obj 16 : multiply defined symbol: _i_init (E:\MICROCHIP\C Language\Main.obj) Error[000] E:\MICROCHIP\C Language\UART.obj 16 : multiply defined symbol: _i_rx (E:\MICROCHIP\C Language\Interrupt.obj) Error[000] E:\MICROCHIP\C Language\UART.obj 16 : multiply defined symbol: _i_tx (E:\MICROCHIP\C Language\Interrupt.obj) Error[000] E:\MICROCHIP\C Language\UART.obj 16 : multiply defined symbol: _datrx (E:\MICROCHIP\C Language\BATTERY Check.obj) Error[000] E:\MICROCHIP\C Language\UART.obj 16 : multiply defined symbol: _dattx (E:\MICROCHIP\C Language\BATTERY Check.obj) Error[000] E:\MICROCHIP\C Language\Work.obj 18 : multiply defined symbol: _time_relay (E:\MICROCHIP\C Language\Interrupt.obj) Error[000] E:\MICROCHIP\C Language\Work.obj 18 : multiply defined symbol: _mod_work (E:\MICROCHIP\C Language\Main.obj) Error[000] E:\MICROCHIP\C Language\Work.obj 18 : multiply defined symbol: _ubat (E:\MICROCHIP\C Language\BATTERY Check.obj) Error[000] E:\MICROCHIP\C Language\Work.obj 18 : multiply defined symbol: _time_hour (E:\MICROCHIP\C Language\Interrupt.obj) Error[000] E:\MICROCHIP\C Language\Work.obj 18 : Too many errors |
|
| 4樓: | >>參與討論 |
| 作者: 單片機電源 于 2007/4/10 16:50:00 發(fā)布:
TypeDefine.h頭文件 /*======================================================= 04/06/07 =======================================================*/ #ifndef DATA_TYPE #define DATA_TYPE #define uint unsigned int #define uCHAR unsigned CHAR #define uLONG unsigned LONG typedef union { struct { unsigned CHAR b0: 1; unsigned CHAR b1: 1; unsigned CHAR b2: 1; unsigned CHAR b3: 1; unsigned CHAR b4: 1; unsigned CHAR b5: 1; unsigned CHAR b6: 1; unsigned CHAR b7: 1; }bit_def; uCHAR all; }byte_def; #define ubat_fault_value 108 #define setbit(var,bit) (var|=(0x01<<(bit))) #define clrbit(var,bit) (var&=(~(0x01<<(bit)))) #define checkbit(var,bit) (var&(0x01<<(bit))) #define CHNL_1 RA5=0,RA4=0,RA2=0 #define CHNL_2 RA5=0,RA4=0,RA2=1 #define CHNL_3 RA5=0,RA4=1,RA2=0 #define CHNL_4 RA5=0,RA4=1,RA2=1 #define CHNL_5 RA5=1,RA4=0,RA2=0 #define CHNL_6 RA5=1,RA4=0,RA2=1 #define CHNL_7 RA5=1,RA4=1,RA2=0 #define CHNL_8 RA5=1,RA4=1,RA2=1 #define BUZZ_RING RC3=1 #define BUZZ_OFF RC3=0 #define LED_OFF RC1=1 #define LED_ON RC1=0 #define KEY RC2 #define Enable_Int GIE=1,PEIE=1 #define Disable_Int GIE=0,PEIE=0 static byte_def fault_battery=0x00; #define fault fault_battery.all #define f1 fault_battery.bit_def.b0 #define f2 fault_battery.bit_def.b1 #define f3 fault_battery.bit_def.b2 #define f4 fault_battery.bit_def.b3 #define f5 fault_battery.bit_def.b4 #define f6 fault_battery.bit_def.b5 #define f7 fault_battery.bit_def.b6 #define f8 fault_battery.bit_def.b7 #define CHARGE_OPEN RC4 #define CHARGE_SHORT RC5 #define OUT1_OPEN RB0 #define OUT1_SHORT RB1 #define OUT2_OPEN RB2 #define OUT2_SHORT RB3 #define OUT3_OPEN RB4 #define OUT3_SHORT RB5 #define OUT4_OPEN RB6 #define OUT4_SHORT RB7 static byte_def status_a=0x00; #define status_1 status_a.all #define out1_open_status status_a.bit_def.b0 #define out1_short_status status_a.bit_def.b1 #define out2_open_status status_a.bit_def.b2 #define out2_short_status status_a.bit_def.b3 #define out3_open_status status_a.bit_def.b4 #define out3_short_status status_a.bit_def.b5 #define out4_open_status status_a.bit_def.b6 #define out4_short_status status_a.bit_def.b7 static byte_def status_b=0x00; #define status_2 status_b.all #define CHARge_open_status status_b.bit_def.b0 #define CHARge_short_status status_b.bit_def.b1 #define Flag_Serial_Error status_b.bit_def.b2 #endif |
|
| 5樓: | >>參與討論 |
| 作者: yewuyi 于 2007/4/11 8:22:00 發(fā)布:
沒事情做,你改頭文件做什么? 你連簡單的走還沒學會,怎么可能就會‘跑’了呢? |
|
| 6樓: | >>參與討論 |
| 作者: 單片機電源 于 2007/4/11 8:58:00 發(fā)布:
這是我自己定義的頭文件 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |