__interrupt void PORT2 (void) { char res ; // CRC Check if (P2IFG & 0x01) // Check P2IFG Bit P2.0 - CC1100 Rx Packet { CLEAR(P2IFG, 0x01); LEDTOGGLE; res = receivePacket(); // CRC Rückgabe if (res) // wenn Packet OK ... { printPacket(); // Packet auf Terminal ausgeben } else { spiStrobe(CC1100_SIDLE); // Switch to IDLE spiStrobe(CC1100_SFRX); // Flush the RX FIFO } } else { CLEAR(P2IFG, 0xFF); // Clear all flags } spiStrobe(CC1100_SRX); // Switch to RX Mode }
__interrupt void ISR_Port2 (void) { char res ; // CRC Check if (P2IFG & 0x01) // Check P2IFG Bit P2.0 - CC1100 Rx Packet { CLEAR(P2IFG, 0x01); res = receivePacket(); // CRC Rückgabe if (res) // wenn Packet OK ... { // wenn ein Packet Empfangen wurde die Ausgabe // einleiten do_output=1; } else { spiStrobe(CC1100_SIDLE); // Switch to IDLE spiStrobe(CC1100_SFRX); // Flush the RX FIFO } } else { CLEAR(P2IFG, 0xFF); // Clear all flags } spiStrobe(CC1100_SRX); // Switch to RX Mode }