rejoice818 - 2008-5-8 15:43:00
请问程序错在哪里?提示:-Configuration: led show - Debug--------------------
C:\PROGRA~1\Sunplus\UNSPID~1.0\xasm16 -t2 -d -I"C:/Program Files/Sunplus/unSP IDE 2.0.0/led show" -l ".\Debug\Resource.lst" -o ".\Debug\Resource.obj" "C:\Program Files\Sunplus\unSP IDE 2.0.0\led show\Resource.asm"
Sunplus u'nSP Assembler - Ver. 1.14.3.1
Apply for ISA 1.1
0 error(s), 0 warning(s).
C:\PROGRA~1\Sunplus\UNSPID~1.0\gcc -S -gstabs -Wall -mglobal-var-iram -BC:\PROGRA~1\Sunplus\UNSPID~1.0\ -I"C:/Program Files/Sunplus/unSP IDE 2.0.0/led show" -o ".\Debug/led show.asm" "C:/Program Files/Sunplus/unSP IDE 2.0.0/led show/led show.c"
C:/Program Files/Sunplus/unSP IDE 2.0.0/led show/led show.c:6: warning: WARNING: return-type defaults to `int'
C:/Program Files/Sunplus/unSP IDE 2.0.0/led show/led show.c: In function `main':
C:/Program Files/Sunplus/unSP IDE 2.0.0/led show/led show.c:39: ERROR: parse error before `void'
C:/Program Files/Sunplus/unSP IDE 2.0.0/led show/led show.c: At top level:
C:/Program Files/Sunplus/unSP IDE 2.0.0/led show/led show.c:55: ERROR: parse error before `volatile'
Sunplus u'nSP C Compiler - Ver. 1.0.21-3
C:\PROGRA~1\Sunplus\UNSPID~1.0\make: *** [.\Debug\led show.asm] unknown signal
C:\Program Files\Sunplus\unSP IDE 2.0.0\led show\Debug\led show.S37 - 3 Error(s), 1 Warning(s)
#include "SPCE061A.H"
unsigned int Data[11] = {0x0000,0x003f,0x0006,0x005b,0x004f,0x0066,0x006d,0x007d,0x0007,0x007f,0x006f};
unsigned int Dis[4]={0x8000,0xc000,0xe000,0xf000};
unsigned int sign=0,i=1;
main(void)
{
*P_IOB_Data=0x7800;
*P_IOB_Attrib=0xffff;
*P_IOB_Dir=0xffff;
*P_IOA_Dir=0xffff;
*P_IOA_Attrib=0xffff;
*P_IOA_Data=0x003f;
*P_INT_Ctrl=0x0004;
__asm("INT IRQ");
while(1)
{
if(sign==0) //信号寄存器是否为 0 ?
{
*P_IOB_Data=0xf000; //4 位数码管显示“000000”
*P_IOA_Data= 0x003f;
}
else
{
*P_IOB_Data=Dis[sign] ; //数码管根据段位和位选信号显示
*P_IOA_Data=Data[i] ;
}
*P_Watchdog_Clear=0x0001;
}
//中断程序“我用c写”
#include "SPCE061A.H"
void IRQ5(void)__attribute__((ISR));
void IRQ5(void)
{
if(*P_INT_Ctrl&0x0004)//IRQ5_2Hz
{i++;
if(i>9)
{
sign++ ;
if(sign>=4)
{ sign=0;}
}
i=1;
}
*P_INT_Clear=0x0004; //IRQ_2Hz
}
else
{
*P_INT_Clear=0x0008; //IRQ_4Hz
}
}
Mariah49 - 2008-5-8 16:46:00
语法错误,main函数最后面少一个“}”。
另外要注意,void IRQ5(void)__attribute__((ISR));的正确写法应该是:
void IRQ5(void) __attribute__ ((ISR));在void的“)”后面有一个空格,在ISR前面的"(("前面还有一个空格。
rejoice818 - 2008-5-8 19:50:00
知道了 除了上面还有一个 清除*P_INT_Clear=0x0004; //IRQ_2Hz那里多了个“}” 失礼了
Suelingxing - 2008-11-16 21:02:00
-----------------Configuration: output_A_1 - Debug--------------------
C:\PROGRA~1\Sunplus\UNSPID~1.0\xasm16 -t2 -d -I"H:/学习程序/output_A_1" -l ".\Debug\Resource.lst" -o ".\Debug\Resource.obj" "H:\学习程序\output_A_1\Resource.asm"
Sunplus u'nSP Assembler - Ver. 1.14.3.1
Apply for ISA 1.1
0 error(s), 0 warning(s).
C:\PROGRA~1\Sunplus\UNSPID~1.0\gcc -S -gstabs -Wall -mglobal-var-iram -BC:\PROGRA~1\Sunplus\UNSPID~1.0\ -I"H:/学习程序/output_A_1" -o ".\Debug/main.asm" "H:/学习程序/output_A_1/main.c"
H:/学习程序/output_A_1/main.c:2: `#include' expects "FILENAME" or <FILENAME>
H:/学习程序/output_A_1/main.c:3: `#include' expects "FILENAME" or <FILENAME>
Sunplus u'nSP C Compiler - Ver. 1.0.21-3
C:\PROGRA~1\Sunplus\UNSPID~1.0\make: *** [.\Debug\main.asm] unknown signal
H:\学习程序\output_A_1\Debug\output_A_1.S37 - 1 Error(s), 0 Warning(s)
错在哪里?麻烦高手指点一下~~~谢谢~~~~