This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SimpliciTI cc1200 MISO

Other Parts Discussed in Thread: SIMPLICITI, CC1200

Hi All

I''m so confused . my platform is TM4C129X +CC1200 ,  I porting simpliciTI protocol in this platform.

  MRFI_SPI_DRIVE_CSN_LOW();
  Mrfi_DelayUsec(10);
  MRFI_SPI_DRIVE_CSN_HIGH();

  /* hold CSn high for at least 40 microseconds */
  Mrfi_DelayUsec(40);

  /* pull CSn low and wait for SO to go low */
  MRFI_SPI_DRIVE_CSN_LOW();
  while(MRFI_SPI_SO_IS_HIGH());

when I do the CSN_LOW(); the MISO should be the low, but the MOSI become high, when I do the CSN_HIGH, the MOSI pin become LOW. and I don't know why.

 

  • Please provide a plot of the SPI interface clearly labeled.
  • I make a mistake, when I do the CSN_LOW(); the MISO should be the low, but the MISO become high, when I do the CSN_HIGH, the MISO pin become LOW.
    #define MRFI_SPI_DRIVE_CSN_LOW() ROM_GPIOPinWrite(GPIO_PORTA_BASE, GPIO_PIN_3, 0);
    #define MRFI_SPI_DRIVE_CSN_HIGH() ROM_GPIOPinWrite(GPIO_PORTA_BASE, GPIO_PIN_3, GPIO_PIN_3)
    I use the oscilloscope can see the CSN pin voltage change low and high normally. but the MISO pin change opposite,
    SPI_INIT() function is following:
    MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI0); \
    MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA); \
    MAP_GPIOPinConfigure(GPIO_PA2_SSI0CLK); \
    MAP_GPIOPinConfigure(GPIO_PA4_SSI0XDAT0); \
    MAP_GPIOPinConfigure(GPIO_PA5_SSI0XDAT1); \
    MAP_SSIConfigSetExpClk(SSI0_BASE, g_ui32SysClock, \
    SSI_FRF_MOTO_MODE_0, SSI_MODE_MASTER, SPI_RATE, 8); \
    MAP_SSIEnable(SSI0_BASE); \
    { \
    unsigned long ulTemp; \
    while(MAP_SSIDataGetNonBlocking(SSI0_BASE, &ulTemp)) \
    { \
    } \
    } \
    \
    MAP_GPIOIntDisable(MRFI_GDO0_BASE, GPIO_PIN_2); \
    MAP_GPIOIntClear(MRFI_GDO0_BASE, GPIO_PIN_2); \
    MAP_IntEnable(MRFI_GDO0_INT_VECTOR); \
    MAP_IntMasterEnable(); \)