中断函数的定义问题

[复制链接]
5617|5
 楼主| 单片机电源 发表于 2007-4-10 14:17 | 显示全部楼层 |阅读模式
中断函数可以定义成void&nbsp;Interrupt&nbsp;ISR(void);吗?<br /><br />为什么在定义了之后,编译时提示出错:<br /><br />Clean:&nbsp;Deleting&nbsp;intermediary&nbsp;and&nbsp;output&nbsp;files.<br />Clean:&nbsp;Deleted&nbsp;file&nbsp;&quot;E:microchipC&nbsp;LanguageBattery&nbsp;Check.obj&quot;.<br />Clean:&nbsp;Deleted&nbsp;file&nbsp;&quot;E:microchipC&nbsp;LanguageBattery&nbsp;Check.cce&quot;.<br />Clean:&nbsp;Deleted&nbsp;file&nbsp;&quot;E:microchipC&nbsp;LanguageMain.obj&quot;.<br />Clean:&nbsp;Deleted&nbsp;file&nbsp;&quot;E:microchipC&nbsp;LanguageMain.cce&quot;.<br />Clean:&nbsp;Deleted&nbsp;file&nbsp;&quot;E:microchipC&nbsp;LanguageStatus_Check.obj&quot;.<br />Clean:&nbsp;Deleted&nbsp;file&nbsp;&quot;E:microchipC&nbsp;LanguageStatus_Check.cce&quot;.<br />Clean:&nbsp;Deleted&nbsp;file&nbsp;&quot;E:microchipC&nbsp;LanguageInterrupt.cce&quot;.<br />Clean:&nbsp;Done.<br />Executing:&nbsp;&quot;C:HT-PICBINPICC.EXE&quot;&nbsp;-C&nbsp;-E&quot;Battery&nbsp;Check.cce&quot;&nbsp;&quot;Battery&nbsp;Check.c&quot;&nbsp;-O&quot;Battery&nbsp;Check.obj&quot;&nbsp;-Zg9&nbsp;-O&nbsp;-ASMLIST&nbsp;-Q&nbsp;-MPLAB&nbsp;-16F73<br />Executing:&nbsp;&quot;C:HT-PICBINPICC.EXE&quot;&nbsp;-C&nbsp;-E&quot;Main.cce&quot;&nbsp;&quot;Main.c&quot;&nbsp;-O&quot;Main.obj&quot;&nbsp;-Zg9&nbsp;-O&nbsp;-ASMLIST&nbsp;-Q&nbsp;-MPLAB&nbsp;-16F73<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageInterrupt.h&nbsp;23&nbsp;:&nbsp;only&nbsp;functions&nbsp;may&nbsp;be&nbsp;void<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageInterrupt.h&nbsp;23&nbsp;:&nbsp;,&nbsp;expected<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageMain.c&nbsp;78&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;count_ad&nbsp;(from&nbsp;line&nbsp;13)<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageMain.c&nbsp;78&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;ad_max&nbsp;(from&nbsp;line&nbsp;14)<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageMain.c&nbsp;78&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;ad_min&nbsp;(from&nbsp;line&nbsp;14)<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageMain.c&nbsp;78&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;ad_resutl_buf&nbsp;(from&nbsp;line&nbsp;14)<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageMain.c&nbsp;78&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;ad_result_temp&nbsp;(from&nbsp;line&nbsp;13)<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageMain.c&nbsp;78&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;status_a&nbsp;(from&nbsp;line&nbsp;24)<br />Halting&nbsp;build&nbsp;on&nbsp;first&nbsp;failure&nbsp;as&nbsp;requested.<br />BUILD&nbsp;FAILED:&nbsp;Tue&nbsp;Apr&nbsp;10&nbsp;14:24:11&nbsp;2007<br /><br />还有后面的告警是怎么回事?我已经在头文件中定义了这些变量啊!<br /><br />我的source&nbsp;files里有7个模块文件。<br />
yewuyi 发表于 2007-4-10 15:42 | 显示全部楼层

void interrupt ISR(void){}

Error[000]&nbsp;E:microchipC&nbsp;LanguageInterrupt.h&nbsp;23&nbsp;:&nbsp;,&nbsp;expected<br />提示你写错了标号,写成‘,’了,下面的报错有可能是这个引起的,改一下重编译看看
 楼主| 单片机电源 发表于 2007-4-10 16:48 | 显示全部楼层

我在头文件中屏蔽掉void interrupt ISR(void);语句

就没有这个提示了,但是又会提示变量重复定义<br />Executing:&nbsp;&quot;C:HT-PICBINPICC.EXE&quot;&nbsp;-C&nbsp;-E&quot;Battery&nbsp;Check.cce&quot;&nbsp;&quot;Battery&nbsp;Check.c&quot;&nbsp;-O&quot;Battery&nbsp;Check.obj&quot;&nbsp;-I&quot;C:HT-PICinclude&quot;&nbsp;-Zg9&nbsp;-O&nbsp;-ASMLIST&nbsp;-Q&nbsp;-MPLAB&nbsp;-16F73<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageBattery&nbsp;Check.c&nbsp;104&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;status_a&nbsp;(from&nbsp;line&nbsp;72)<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageBattery&nbsp;Check.c&nbsp;104&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;status_b&nbsp;(from&nbsp;line&nbsp;82)<br />Executing:&nbsp;&quot;C:HT-PICBINPICC.EXE&quot;&nbsp;-C&nbsp;-E&quot;Interrupt.cce&quot;&nbsp;&quot;Interrupt.c&quot;&nbsp;-O&quot;Interrupt.obj&quot;&nbsp;-I&quot;C:HT-PICinclude&quot;&nbsp;-Zg9&nbsp;-O&nbsp;-ASMLIST&nbsp;-Q&nbsp;-MPLAB&nbsp;-16F73<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageInterrupt.c&nbsp;100&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;fault_battery&nbsp;(from&nbsp;line&nbsp;50)<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageInterrupt.c&nbsp;100&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;status_a&nbsp;(from&nbsp;line&nbsp;72)<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageInterrupt.c&nbsp;35&nbsp;:&nbsp;undefined&nbsp;shift&nbsp;(17&nbsp;bits)<br />Executing:&nbsp;&quot;C:HT-PICBINPICC.EXE&quot;&nbsp;-C&nbsp;-E&quot;Main.cce&quot;&nbsp;&quot;Main.c&quot;&nbsp;-O&quot;Main.obj&quot;&nbsp;-I&quot;C:HT-PICinclude&quot;&nbsp;-Zg9&nbsp;-O&nbsp;-ASMLIST&nbsp;-Q&nbsp;-MPLAB&nbsp;-16F73<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageMain.c&nbsp;78&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;count_ad&nbsp;(from&nbsp;line&nbsp;13)<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageMain.c&nbsp;78&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;ad_max&nbsp;(from&nbsp;line&nbsp;14)<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageMain.c&nbsp;78&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;ad_min&nbsp;(from&nbsp;line&nbsp;14)<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageMain.c&nbsp;78&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;ad_resutl_buf&nbsp;(from&nbsp;line&nbsp;14)<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageMain.c&nbsp;78&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;ad_result_temp&nbsp;(from&nbsp;line&nbsp;13)<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageMain.c&nbsp;78&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;status_a&nbsp;(from&nbsp;line&nbsp;72)<br />Executing:&nbsp;&quot;C:HT-PICBINPICC.EXE&quot;&nbsp;-C&nbsp;-E&quot;Status_Check.cce&quot;&nbsp;&quot;Status_Check.c&quot;&nbsp;-O&quot;Status_Check.obj&quot;&nbsp;-I&quot;C:HT-PICinclude&quot;&nbsp;-Zg9&nbsp;-O&nbsp;-ASMLIST&nbsp;-Q&nbsp;-MPLAB&nbsp;-16F73<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageStatus_Check.c&nbsp;38&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;fault_battery&nbsp;(from&nbsp;line&nbsp;50)<br />Executing:&nbsp;&quot;C:HT-PICBINPICC.EXE&quot;&nbsp;-C&nbsp;-E&quot;Timer&nbsp;0.cce&quot;&nbsp;&quot;Timer&nbsp;0.c&quot;&nbsp;-O&quot;Timer&nbsp;0.obj&quot;&nbsp;-I&quot;C:HT-PICinclude&quot;&nbsp;-Zg9&nbsp;-O&nbsp;-ASMLIST&nbsp;-Q&nbsp;-MPLAB&nbsp;-16F73<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageTimer&nbsp;0.c&nbsp;9&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;fault_battery&nbsp;(from&nbsp;line&nbsp;50)<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageTimer&nbsp;0.c&nbsp;9&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;status_a&nbsp;(from&nbsp;line&nbsp;72)<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageTimer&nbsp;0.c&nbsp;9&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;status_b&nbsp;(from&nbsp;line&nbsp;82)<br />Executing:&nbsp;&quot;C:HT-PICBINPICC.EXE&quot;&nbsp;-C&nbsp;-E&quot;UART.cce&quot;&nbsp;&quot;UART.c&quot;&nbsp;-O&quot;UART.obj&quot;&nbsp;-I&quot;C:HT-PICinclude&quot;&nbsp;-Zg9&nbsp;-O&nbsp;-ASMLIST&nbsp;-Q&nbsp;-MPLAB&nbsp;-16F73<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageUART.c&nbsp;10&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;fault_battery&nbsp;(from&nbsp;line&nbsp;50)<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageUART.c&nbsp;10&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;status_a&nbsp;(from&nbsp;line&nbsp;72)<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageUART.c&nbsp;10&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;status_b&nbsp;(from&nbsp;line&nbsp;82)<br />Executing:&nbsp;&quot;C:HT-PICBINPICC.EXE&quot;&nbsp;-C&nbsp;-E&quot;Work.cce&quot;&nbsp;&quot;Work.c&quot;&nbsp;-O&quot;Work.obj&quot;&nbsp;-I&quot;C:HT-PICinclude&quot;&nbsp;-Zg9&nbsp;-O&nbsp;-ASMLIST&nbsp;-Q&nbsp;-MPLAB&nbsp;-16F73<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageWork.c&nbsp;81&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;status_a&nbsp;(from&nbsp;line&nbsp;72)<br />Warning[000]&nbsp;E:microchipC&nbsp;LanguageWork.c&nbsp;81&nbsp;:&nbsp;unused&nbsp;variable&nbsp;definition:&nbsp;status_b&nbsp;(from&nbsp;line&nbsp;82)<br />Executing:&nbsp;&quot;C:HT-PICBINPICC.EXE&quot;&nbsp;-E&quot;1.lde&quot;&nbsp;&quot;E:microchipC&nbsp;LanguageBattery&nbsp;Check.obj&quot;&nbsp;&quot;E:microchipC&nbsp;LanguageInterrupt.obj&quot;&nbsp;&quot;E:microchipC&nbsp;LanguageMain.obj&quot;&nbsp;&quot;E:microchipC&nbsp;LanguageStatus_Check.obj&quot;&nbsp;&quot;E:microchipC&nbsp;LanguageTimer&nbsp;0.obj&quot;&nbsp;&quot;E:microchipC&nbsp;LanguageUART.obj&quot;&nbsp;&quot;E:microchipC&nbsp;LanguageWork.obj&quot;&nbsp;-M&quot;1.map&quot;&nbsp;-O&quot;1.cof&quot;&nbsp;-O&quot;1.hex&quot;&nbsp;-Q&nbsp;-MPLAB&nbsp;-16F73<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageInterrupt.obj&nbsp;28&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_ubat&nbsp;(E:microchipC&nbsp;LanguageBattery&nbsp;Check.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageInterrupt.obj&nbsp;28&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_n_fault&nbsp;(E:microchipC&nbsp;LanguageBattery&nbsp;Check.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageInterrupt.obj&nbsp;28&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_datrx&nbsp;(E:microchipC&nbsp;LanguageBattery&nbsp;Check.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageInterrupt.obj&nbsp;28&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_dattx&nbsp;(E:microchipC&nbsp;LanguageBattery&nbsp;Check.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageMain.obj&nbsp;20&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_time_relay&nbsp;(E:microchipC&nbsp;LanguageInterrupt.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageMain.obj&nbsp;20&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_i_rx&nbsp;(E:microchipC&nbsp;LanguageInterrupt.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageMain.obj&nbsp;20&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_i_tx&nbsp;(E:microchipC&nbsp;LanguageInterrupt.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageMain.obj&nbsp;20&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_ubat&nbsp;(E:microchipC&nbsp;LanguageBattery&nbsp;Check.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageMain.obj&nbsp;20&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_time_hour&nbsp;(E:microchipC&nbsp;LanguageInterrupt.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageMain.obj&nbsp;20&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_n_fault&nbsp;(E:microchipC&nbsp;LanguageBattery&nbsp;Check.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageMain.obj&nbsp;20&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_datrx&nbsp;(E:microchipC&nbsp;LanguageBattery&nbsp;Check.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageMain.obj&nbsp;20&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_dattx&nbsp;(E:microchipC&nbsp;LanguageBattery&nbsp;Check.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageMain.obj&nbsp;20&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_n_bat&nbsp;(E:microchipC&nbsp;LanguageBattery&nbsp;Check.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageMain.obj&nbsp;21&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_count_100ms&nbsp;(E:microchipC&nbsp;LanguageInterrupt.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageMain.obj&nbsp;21&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_count_500ms&nbsp;(E:microchipC&nbsp;LanguageInterrupt.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageStatus_Check.obj&nbsp;18&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_datrx&nbsp;(E:microchipC&nbsp;LanguageBattery&nbsp;Check.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageStatus_Check.obj&nbsp;18&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_dattx&nbsp;(E:microchipC&nbsp;LanguageBattery&nbsp;Check.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageTimer&nbsp;0.obj&nbsp;14&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_time_relay&nbsp;(E:microchipC&nbsp;LanguageInterrupt.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageTimer&nbsp;0.obj&nbsp;14&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_time_hour&nbsp;(E:microchipC&nbsp;LanguageInterrupt.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageTimer&nbsp;0.obj&nbsp;14&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_count_100ms&nbsp;(E:microchipC&nbsp;LanguageInterrupt.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageTimer&nbsp;0.obj&nbsp;14&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_count_500ms&nbsp;(E:microchipC&nbsp;LanguageInterrupt.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageUART.obj&nbsp;16&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_i_init&nbsp;(E:microchipC&nbsp;LanguageMain.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageUART.obj&nbsp;16&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_i_rx&nbsp;(E:microchipC&nbsp;LanguageInterrupt.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageUART.obj&nbsp;16&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_i_tx&nbsp;(E:microchipC&nbsp;LanguageInterrupt.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageUART.obj&nbsp;16&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_datrx&nbsp;(E:microchipC&nbsp;LanguageBattery&nbsp;Check.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageUART.obj&nbsp;16&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_dattx&nbsp;(E:microchipC&nbsp;LanguageBattery&nbsp;Check.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageWork.obj&nbsp;18&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_time_relay&nbsp;(E:microchipC&nbsp;LanguageInterrupt.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageWork.obj&nbsp;18&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_mod_work&nbsp;(E:microchipC&nbsp;LanguageMain.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageWork.obj&nbsp;18&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_ubat&nbsp;(E:microchipC&nbsp;LanguageBattery&nbsp;Check.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageWork.obj&nbsp;18&nbsp;:&nbsp;multiply&nbsp;defined&nbsp;symbol:&nbsp;_time_hour&nbsp;(E:microchipC&nbsp;LanguageInterrupt.obj)<br />Error[000]&nbsp;E:microchipC&nbsp;LanguageWork.obj&nbsp;18&nbsp;:&nbsp;Too&nbsp;many&nbsp;errors<br />BUILD&nbsp;FAILED:&nbsp;Tue&nbsp;Apr&nbsp;10&nbsp;16:59:18&nbsp;2007<br />我把所有的宏定义放在一个TypeDefine.h头文件中,在所有的模块文件的头文件中都调用该文件,就出现了上面的错误提示。
 楼主| 单片机电源 发表于 2007-4-10 16:50 | 显示全部楼层

TypeDefine.h头文件

/*=======================================================<br />04/06/07<br />=======================================================*/<br />#ifndef&nbsp;&nbsp;&nbsp;&nbsp;DATA_TYPE<br />#define&nbsp;&nbsp;&nbsp;&nbsp;DATA_TYPE<br /><br />#define&nbsp;&nbsp;&nbsp;&nbsp;uint&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;int<br />#define&nbsp;&nbsp;&nbsp;&nbsp;uchar&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;char<br />#define&nbsp;&nbsp;&nbsp;&nbsp;ulong&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;long<br /><br />typedef&nbsp;&nbsp;&nbsp;&nbsp;union<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;struct<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;&nbsp;&nbsp;&nbsp;b0:&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;&nbsp;&nbsp;&nbsp;b1:&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;&nbsp;&nbsp;&nbsp;b2:&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;char&nbsp;&nbsp;&nbsp;&nbsp;b3:&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;&nbsp;&nbsp;&nbsp;b4:&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;&nbsp;&nbsp;&nbsp;b5:&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;&nbsp;&nbsp;&nbsp;b6:&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;&nbsp;&nbsp;&nbsp;b7:&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;}bit_def;<br />&nbsp;&nbsp;&nbsp;&nbsp;uchar&nbsp;&nbsp;&nbsp;&nbsp;all;<br />}byte_def;<br /><br />#define&nbsp;&nbsp;&nbsp;&nbsp;ubat_fault_value&nbsp;&nbsp;&nbsp;&nbsp;108<br />#define&nbsp;&nbsp;&nbsp;&nbsp;setbit(var,bit)&nbsp;&nbsp;&nbsp;&nbsp;(var|=(0x01&lt&lt(bit)))<br />#define&nbsp;&nbsp;&nbsp;&nbsp;clrbit(var,bit)&nbsp;&nbsp;&nbsp;&nbsp;(var&=(~(0x01&lt&lt(bit))))<br />#define&nbsp;&nbsp;&nbsp;&nbsp;checkbit(var,bit)&nbsp;&nbsp;&nbsp;&nbsp;(var&(0x01&lt&lt(bit)))<br /><br />#define&nbsp;&nbsp;&nbsp;&nbsp;CHNL_1&nbsp;&nbsp;&nbsp;&nbsp;RA5=0,RA4=0,RA2=0<br />#define&nbsp;&nbsp;&nbsp;&nbsp;CHNL_2&nbsp;&nbsp;&nbsp;&nbsp;RA5=0,RA4=0,RA2=1<br />#define&nbsp;&nbsp;&nbsp;&nbsp;CHNL_3&nbsp;&nbsp;&nbsp;&nbsp;RA5=0,RA4=1,RA2=0<br />#define&nbsp;&nbsp;&nbsp;&nbsp;CHNL_4&nbsp;&nbsp;&nbsp;&nbsp;RA5=0,RA4=1,RA2=1<br />#define&nbsp;&nbsp;&nbsp;&nbsp;CHNL_5&nbsp;&nbsp;&nbsp;&nbsp;RA5=1,RA4=0,RA2=0<br />#define&nbsp;&nbsp;&nbsp;&nbsp;CHNL_6&nbsp;&nbsp;&nbsp;&nbsp;RA5=1,RA4=0,RA2=1<br />#define&nbsp;&nbsp;&nbsp;&nbsp;CHNL_7&nbsp;&nbsp;&nbsp;&nbsp;RA5=1,RA4=1,RA2=0<br />#define&nbsp;&nbsp;&nbsp;&nbsp;CHNL_8&nbsp;&nbsp;&nbsp;&nbsp;RA5=1,RA4=1,RA2=1<br />#define&nbsp;&nbsp;&nbsp;&nbsp;BUZZ_RING&nbsp;&nbsp;&nbsp;&nbsp;RC3=1<br />#define&nbsp;&nbsp;&nbsp;&nbsp;BUZZ_OFF&nbsp;&nbsp;&nbsp;&nbsp;RC3=0<br /><br />#define&nbsp;&nbsp;&nbsp;&nbsp;LED_OFF&nbsp;&nbsp;&nbsp;&nbsp;RC1=1<br />#define&nbsp;&nbsp;&nbsp;&nbsp;LED_ON&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RC1=0<br />#define&nbsp;&nbsp;&nbsp;&nbsp;KEY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RC2<br /><br />#define&nbsp;&nbsp;&nbsp;&nbsp;Enable_Int&nbsp;&nbsp;&nbsp;&nbsp;GIE=1,PEIE=1<br />#define&nbsp;&nbsp;&nbsp;&nbsp;Disable_Int&nbsp;&nbsp;&nbsp;&nbsp;GIE=0,PEIE=0<br /><br />static&nbsp;&nbsp;&nbsp;&nbsp;byte_def&nbsp;&nbsp;&nbsp;&nbsp;fault_battery=0x00;<br />#define&nbsp;&nbsp;&nbsp;&nbsp;fault&nbsp;&nbsp;&nbsp;&nbsp;fault_battery.all<br />#define&nbsp;&nbsp;&nbsp;&nbsp;f1&nbsp;&nbsp;&nbsp;&nbsp;fault_battery.bit_def.b0<br />#define&nbsp;&nbsp;&nbsp;&nbsp;f2&nbsp;&nbsp;&nbsp;&nbsp;fault_battery.bit_def.b1<br />#define&nbsp;&nbsp;&nbsp;&nbsp;f3&nbsp;&nbsp;&nbsp;&nbsp;fault_battery.bit_def.b2<br />#define&nbsp;&nbsp;&nbsp;&nbsp;f4&nbsp;&nbsp;&nbsp;&nbsp;fault_battery.bit_def.b3<br />#define&nbsp;&nbsp;&nbsp;&nbsp;f5&nbsp;&nbsp;&nbsp;&nbsp;fault_battery.bit_def.b4<br />#define&nbsp;&nbsp;&nbsp;&nbsp;f6&nbsp;&nbsp;&nbsp;&nbsp;fault_battery.bit_def.b5<br />#define&nbsp;&nbsp;&nbsp;&nbsp;f7&nbsp;&nbsp;&nbsp;&nbsp;fault_battery.bit_def.b6<br />#define&nbsp;&nbsp;&nbsp;&nbsp;f8&nbsp;&nbsp;&nbsp;&nbsp;fault_battery.bit_def.b7<br /><br />#define&nbsp;&nbsp;&nbsp;&nbsp;CHARGE_OPEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RC4<br />#define&nbsp;&nbsp;&nbsp;&nbsp;CHARGE_SHORT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RC5<br />#define&nbsp;&nbsp;&nbsp;&nbsp;OUT1_OPEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RB0<br />#define&nbsp;&nbsp;&nbsp;&nbsp;OUT1_SHORT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RB1<br />#define&nbsp;&nbsp;&nbsp;&nbsp;OUT2_OPEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RB2<br />#define&nbsp;&nbsp;&nbsp;&nbsp;OUT2_SHORT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RB3<br />#define&nbsp;&nbsp;&nbsp;&nbsp;OUT3_OPEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RB4<br />#define&nbsp;&nbsp;&nbsp;&nbsp;OUT3_SHORT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RB5<br />#define&nbsp;&nbsp;&nbsp;&nbsp;OUT4_OPEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RB6<br />#define&nbsp;&nbsp;&nbsp;&nbsp;OUT4_SHORT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RB7<br /><br />static&nbsp;&nbsp;&nbsp;&nbsp;byte_def&nbsp;&nbsp;&nbsp;&nbsp;status_a=0x00;<br />#define&nbsp;&nbsp;&nbsp;&nbsp;status_1&nbsp;&nbsp;&nbsp;&nbsp;status_a.all<br />#define&nbsp;&nbsp;&nbsp;&nbsp;out1_open_status&nbsp;&nbsp;&nbsp;&nbsp;status_a.bit_def.b0<br />#define&nbsp;&nbsp;&nbsp;&nbsp;out1_short_status&nbsp;&nbsp;&nbsp;&nbsp;status_a.bit_def.b1<br />#define&nbsp;&nbsp;&nbsp;&nbsp;out2_open_status&nbsp;&nbsp;&nbsp;&nbsp;status_a.bit_def.b2<br />#define&nbsp;&nbsp;&nbsp;&nbsp;out2_short_status&nbsp;&nbsp;&nbsp;&nbsp;status_a.bit_def.b3<br />#define&nbsp;&nbsp;&nbsp;&nbsp;out3_open_status&nbsp;&nbsp;&nbsp;&nbsp;status_a.bit_def.b4<br />#define&nbsp;&nbsp;&nbsp;&nbsp;out3_short_status&nbsp;&nbsp;&nbsp;&nbsp;status_a.bit_def.b5<br />#define&nbsp;&nbsp;&nbsp;&nbsp;out4_open_status&nbsp;&nbsp;&nbsp;&nbsp;status_a.bit_def.b6<br />#define&nbsp;&nbsp;&nbsp;&nbsp;out4_short_status&nbsp;&nbsp;&nbsp;&nbsp;status_a.bit_def.b7<br />static&nbsp;&nbsp;&nbsp;&nbsp;byte_def&nbsp;&nbsp;&nbsp;&nbsp;status_b=0x00;<br />#define&nbsp;&nbsp;&nbsp;&nbsp;status_2&nbsp;&nbsp;&nbsp;&nbsp;status_b.all<br />#define&nbsp;&nbsp;&nbsp;&nbsp;charge_open_status&nbsp;&nbsp;&nbsp;&nbsp;status_b.bit_def.b0<br />#define&nbsp;&nbsp;&nbsp;&nbsp;charge_short_status&nbsp;&nbsp;&nbsp;&nbsp;status_b.bit_def.b1<br />#define&nbsp;&nbsp;&nbsp;&nbsp;Flag_Serial_Error&nbsp;&nbsp;&nbsp;&nbsp;status_b.bit_def.b2<br /><br />#endif
yewuyi 发表于 2007-4-11 08:22 | 显示全部楼层

没事情做,你改头文件做什么?

你连简单的走还没学会,怎么可能就会‘跑’了呢?
 楼主| 单片机电源 发表于 2007-4-11 08:58 | 显示全部楼层

这是我自己定义的头文件

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

49

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部