Hello.
I’m implementing two software for two msp430 connected with CC1100. I’m using 2 smartrf04EB, i eliminated 0 ohms resistors 114,115,116,117, 121, 122 and i have connected on the P11 msp430f427. I used MSP430 Interface to CC11002500 Code Library, but i change file main.c, TI_CC_msp430.h, TI_CC_hardware board.h. I can’t trasmitt packet between the two transceivers. What is it wrong? here is the two main file:
MAIN TX:
#include “include.h”
static unsigned int results; // Variable to store SD16 conversion results
static unsigned char ADCH, ADCL; //Variable to store first and second 8 bit ADC conversion
char txBuffer[4];
void main (void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
FLL_CTL0 |= XCAP14PF; // Configure load caps
TI_CC_SPISetup(); // Initialize SPI port
TI_CC_PowerupResetCCxxxx(); // Reset CCxxxx
writeRFSettings(); // Write RF settings to config reg
TI_CC_SPIWriteReg(TI_CCxxx0_PATABLE, 0xC0);//Write PATABLE
SD16CTL = SD16REFON+SD16SSEL0; // 1.2V ref, SMCLK
SD16INCTL2 = SD16INTDLY_1; // Interrupt on 3rd sample
SD16CCTL2 = SD16IE; // Enable interrupt
for (i = 0; i < 0x3600; i++); // Delay for 1.2V ref startup
_EINT(); // Enable general interrupts
SD16CCTL2 |= SD16SC; // Set bit to start conversion
_BIS_SR(LPM3_bits + GIE); // Enter LPM3, enable interrupts
}
#pragma vector=SD16_VECTOR
__interrupt void SD16ISR(void)
{
switch (SD16IV)
{
case 2: // SD16MEM Overflow
break;
case 4: // SD16MEM0 IFG
break;
case 6: // SD16MEM1 IFG
break;
case 8: // SD16MEM2 IFG
results = SD16MEM2; // Save CH2 results (clears IFG)
ADCH= (results >> 8) & 0x00FF;
ADCL= results & 0x00FF;
// Build packet
txBuffer[0] = 2; // Packet length
txBuffer[1] = ADCH; // first 8 bit
txBuffer[2] = ADCL; // second 8 bit
RFSendPacket(txBuffer, 3); // Send value over RF
P2IFG &= ~TI_CC_GDO0_PIN; // After pkt TX, this flag is set. // Clear it.
break;
}
}
MAIN RX:
#include “include.h”
static char rxBuffer[2];
void main (void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
TI_CC_LED_PxDIR = TI_CC_LED1 + TI_CC_LED2; //Outputs
TI_CC_SPISetup(); // Initialize SPI port
TI_CC_PowerupResetCCxxxx(); // Reset CCxxxx
writeRFSettings(); // Write RF settings to config reg
TI_CC_SPIWriteReg(TI_CCxxx0_PATABLE, paTable);//Write PATABLE
TI_CC_SPIStrobe(TI_CCxxx0_SRX); // Initialize CCxxxx in RX mode.
_BIS_SR(LPM3_bits + GIE); // Enter LPM3, enable interrupts
}
// The ISR assumes the int came from the pin attached to GDO0 and therefore
// does not check the other seven inputs. Interprets this as a signal from
// CCxxxx indicating packet received.
#pragma vector=PORT2_VECTOR
__interrupt void port2_ISR (void)
{
char len=2; // Len of pkt to be RXed (only addr
// plus data; size byte not incl b/c
// stripped away within RX function)
RFReceivePacket(rxBuffer,&len); // Fetch packet from CCxxxx
P2IFG &= ~TI_CC_GDO0_PIN;
return;
}