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.

Implementing SPI Slave ISR in SimpleBLEBroadcast

I am trying to implement the SPI Slave ISR Receive functionality by using the SimpleBLEBroadcast as my base project. I know that there have been posts about the CPU halting during Rf activity so I have taken measures to try and prevent that. Also, I have attempted to turn power management off once ISR is called bc I saw that was causing problems for some as well.

I'm not sure what additional problems could be causing my problem but I keep receiving corrupted data;

Ex: {0xff, 0xff, ....} when debugging and checking U1DBUF as well as my receiveBuffer after the fact.

I'm setting all of my SPI configurations manually just as they are done in the TI SPI send/receive examples so it is my understanding I don't need any HAL definitions for this to work. I do know that my ISR is being called bc I find the corrupted data in my buffer.

Code Excerpts:

void SimpleBLEBroadcaster_Init( uint8 task_id )
{
  simpleBLEBroadcaster_TaskID = task_id;
  HCI_EXT_HaltDuringRfCmd(HCI_EXT_HALT_DURING_RF_DISABLE);


//GAP Setup from broadcast code


* Clock setup
     * See basic software example "clk_xosc_cc254x"
     */
    
    // Set system clock source to HS XOSC, with no pre-scaling.
    CLKCONCMD = (CLKCONCMD & ~(CLKCON_OSC | CLKCON_CLKSPD)) | CLKCON_CLKSPD_32M;
    while (CLKCONSTA & CLKCON_OSC);   // Wait until clock source has changed
    

   

#pragma vector = URX1_VECTOR
__interrupt void uart1rx_isr(void)
{
#ifdef POWER_SAVING
  osal_pwrmgr_task_state(simpleBLEBroadcaster_TaskID, PWRMGR_HOLD);
#endif

  //ReceiveBuffer

  //Exit ISR

Any additional configurations or reasons as to why I am getting this problem that I should look at for my project?

****************************************************************************************************************************

***********************************

-----------------------------------------------------------------------------------------------------------------------------------------------------

I ended up resolving my problem. Turned out I was not handling my task event properly when initializing.