TI例程如下:
#pragma vector=USCI_A0_VECTOR
__interrupt void USCI_A0_ISR (void)
{
switch (__even_in_range(UCA0IV,4)){
//Vector 2 - RXIFG
case 2:
//USCI_A0 TX buffer ready?
while (!SPI_getInterruptStatus(__MSP430_BASEADDRESS_USCI_A0__,
SPI_TRANSMIT_INTERRUPT
)) ;
//Transmit data to master
SPI_transmitData(__MSP430_BASEADDRESS_USCI_A0__,
transmitData
);
//Receive data from master
receiveData = SPI_receiveData(__MSP430_BASEADDRESS_USCI_A0__);
//Increment data to be transmitted
transmitData++;
break;
default: break;
}
|