工具/软件:Code Composer Studio
我作为主机运行、并且需要在中断字完成后移出、一次传输1个字。 代码后跟、永远不会调用中断例程。
MAP_SysCtlPeripheralEnable (SYSCTL_Periph_SSI3);
(这里还有其他代码在运行、因此 SSI3有时间启用)
IntMasterEnable();
SSIConfigSetExpClk (SSI3_base、 //
GetCpuClk()、 //
SSI_FRF_MOTO_MODE_0、 //
SSI_MODE_MASTER、 //
100000, //*FIXME*启动速度相当慢。
8); //
SSIEnable (SSI3_base); //
SSIIntRegister (SSI3_base、SSI3_ISR); //设置 SSI3 ISR。
SSIIntEnable (SSI3_base、SSI_TXEOT); //发送 FIFO 为空时的中断。
SSIDataPut (SSI3_base、数据);
void SSI3_ISR (void){
从未调用过。
}
其他中断正在运行(例如 UART 中断)、当我最初写入非中断驱动代码时、工作正常。 我注意到、在 TivaWare Periperal 驱动程序库用户指南和 SSI.c 代码本身中、它们只列出了 SSI_TXFF、SSI_RXFF、SSI_RXTO 和 SSI_RXOR 有效、但在 ssi.h 中包含了 SSI_TXEOT 有效。
谢谢、Doug