工具/软件:TI-RTOS
您是否有详细介绍如何在 SWI 配置下使用 SPI1的参考资料?
我让它工作、但不断崩溃。 我已尝试禁用 HWI/SWI、但未修复此问题。我还收到此警告、如何修复此问题?
说明资源路径位置类型
#515-D 无法将类型为"void (*)(void)"的值分配给类型为"SPI_CallbackFxn"的实体 TM4C_SPI_Master.c /RFDAQ-1J/070_SPIBus 第142条 C/C++问题
void TM4C_HWI_Timer4_Event (UArg 实例) { UINT HKEY_CLASS; Hwi_disable(); //确保原子行为。 TI-RTOS 将其他 HWI 事件置于队列中。 GPIO_TOGGLE (EK_PL5_EXP5_TIMINPIN); Hwi_clearInterrupt (INT_TIMER4A_TM4C129); if (TimerIntStatus (TIMER4_base、false)!= 0) { ///------------------ 使 DAC 指针递增。 DACPointer++; 如果(DACPointer>=16) DACPointer=0; ///------------------ TimerIntClear (TIMER4_base、0x2FFF); //清除所有中断,包括 TIMER_TINA_TIMEOUT 等 // Swi_Parswams Params; // Swi_getAttrs (RFD_SWI_DAC12Update_Handle、NULL、&swiParams);//从 SWI 模块复制参数 // swiParams.arg0 = DAC_SineTable[DACPointer]; //更新 DAC 指针 // //swiParams.arg1 = 0; // Swi_setAttrs (RFD_SWI_DAC12Update_Handle、NULL、&swiParams);//将参数保存回 SWI 模块 Swi_post (RFD_SWI_DAC12Update_Handle); // SWI 之后(参见下文) } GPIO_TOGGLE (EK_PL5_EXP5_TIMINPIN); HWI_RESTORE (HKEY_CLASSES_RESTORE); }//=========================================================================================================== //============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================ RFD_DAC12Update_SWI_Fxn //用途:处理 SPI 操作以更新 DAC 电压电平。 //输入:// 输出:// 注释 :SPI 不能由 HWI 运行,因此我们使用 SWI。 //============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================ void RFD_DAC12Update_SWI_Fxn (UARg arg0、UARg arg1) { UINT skey; skey = swi_disable(); GPIO_WRITE (EK_PH0_DACTEST、PINLOW); RFD_SPI1_DAQ12_16位(((UINT16)(arg0和0x00000FFF)); Swi_restore (skey); } void RFD_DAC12Update_test_Fxn (void) { GPIO_WRITE (EK_PH0_DACTEST、PINHICH); }
