Tool/software: TI-RTOS
Do you have reference material which details how to use SPI1 under SWI configuration?
I have it working but keep crashing. I tried HWI/SWI disabled but does not fix this.I also get this warning, how to fix this?
Description Resource Path Location Type
#515-D a value of type "void (*)(void)" cannot be assigned to an entity of type "SPI_CallbackFxn" TM4C_SPI_Master.c /RFDDAQ-1J/070_SPIBus line 142 C/C++ Problem
void TM4C_HWI_Timer4_Event(UArg instance) { UInt Hkey; Hkey = Hwi_disable(); // to ensure atomic behaviour. Other HWI event is put to queue by TI-RTOS. GPIO_toggle(EK_PL5_EXP5_TIMINGPIN); Hwi_clearInterrupt(INT_TIMER4A_TM4C129); if(TimerIntStatus(TIMER4_BASE, false) != 0) { //--------------------------Increment DAC Pointer. DACPointer++; if (DACPointer>=16) DACPointer=0; //-------------------------- TimerIntClear(TIMER4_BASE, 0x2FFF); // Clear All Interrupt including TIMER_TIMA_TIMEOUT, etc // Swi_Params swiParams; // Swi_getAttrs(RFD_SWI_DAC12Update_handle, NULL, &swiParams); // Copy parameter from SWI module // swiParams.arg0 = DAC_SineTable[DACPointer]; // Update DAC pointer // //swiParams.arg1 = 0; // Swi_setAttrs(RFD_SWI_DAC12Update_handle, NULL, &swiParams); // Save parameter back to SWI module Swi_post(RFD_SWI_DAC12Update_handle); // Post SWI (see below) } GPIO_toggle(EK_PL5_EXP5_TIMINGPIN); Hwi_restore(Hkey); } //================================================================== //================================================================== RFD_DAC12Update_SWI_Fxn // Purpose : Process SPI operation to update DAC voltage level. // Input : // Output : // Note : The SPI cannot run by HWI so we use SWI. //================================================================== void RFD_DAC12Update_SWI_Fxn(UArg arg0, UArg arg1) { UInt Skey; Skey = Swi_disable(); GPIO_write(EK_PH0_DACTEST_CS, PINLOW); RFD_SPI1_DAQ12_16Bits((uINT16)(arg0 & 0x00000FFF)); Swi_restore(Skey); } void RFD_DAC12Update_test_Fxn(void) { GPIO_write(EK_PH0_DACTEST_CS, PINHIGH); }