对于430中的硬件中断程序,采用TI自带的编译器可以编译通过,但是如果采用GNU的GCC编译器,就会报错,程序及报错信息如下:
程序:
#pragma vector=USCI_A1_VECTOR
__interrupt void USCI_A1_ISR(void)
{
switch(__even_in_range(UCA1IV,0x08))
{
case 0: break; // Vector 0 - no interrupt
case 2: // Vector 2 - RXIFG
if(bytesAvail > sizeof(uartRXBuf))
{
bytesAvail = 0;
}
uartRXBuf[bytesAvail] = UCA1RXBUF;
bytesAvail++;
runUARTTerminal();
break;
case 4: // Vector 4 - TXIFG
break;
default:
break;
}
}
报错信息:
../board/outerUart.c:124:0: warning: ignoring #pragma vector [-Wunknown-pragmas]
#pragma vector=USCI_A1_VECTOR
^
../board/outerUart.c:125:13: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void'
__interrupt void USCI_A1_ISR(void)
^
../board/outerUart.c: In function 'uartRXByte':
请提供解决办法