Thread 中讨论的其他器件:SYSBIOS
您好!
我有一个程序以"配置"模式启动、此时 SysBIOS 未初始化、功能应用程序仍然未启动、在此配置中、我使用 FIFO 模式下的 SCI 执行一些调试/配置。
我的 SCI FIFO 的代码通过 以下方式初始化和解初始化:
void idSCIinitFIFO(void) { // Initialize PIE and clear PIE registers. Disables CPU interrupts. Interrupt_initModule(); // Initialize the PIE vector table with pointers to the shell Interrupt // Service Routines (ISR). Interrupt_initVectorTable(); Interrupt_register(INT_SCIA_RX, sciaRXFIFOISR); Interrupt_register(INT_SCIA_TX, sciaTXFIFOISR); SCI_resetChannels(SCIA_BASE); SCI_enableFIFO(SCIA_BASE); SCI_enableInterrupt(SCIA_BASE, (SCI_INT_RXFF | SCI_INT_TXFF)); SCI_disableInterrupt(SCIA_BASE, SCI_INT_RXERR); SCI_setFIFOInterruptLevel(SCIA_BASE, SCI_FIFO_TX0, SCI_FIFO_RX1); SCI_performSoftwareReset(SCIA_BASE); SCI_resetTxFIFO(SCIA_BASE); SCI_resetRxFIFO(SCIA_BASE); Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP9); // Enable Global Interrupt (INTM) and realtime interrupt (DBGM) EINT; ERTM; } void idSCIdisableFIFO(void) { // Enable Global Interrupt (INTM) and realtime interrupt (DBGM) // To disable if generates problems, actually deactivated in case is activated during initialization DINT; DRTM; SCI_disableInterrupt(SCIA_BASE, (SCI_INT_RXFF | SCI_INT_TXFF | SCI_INT_TXRDY | SCI_INT_RXRDY_BRKDT | SCI_INT_RXERR)); SCI_resetTxFIFO(SCIA_BASE); SCI_resetRxFIFO(SCIA_BASE); SCI_disableFIFO(SCIA_BASE); Interrupt_disable(INT_SCIA_RX); Interrupt_disable(INT_SCIA_TX); Interrupt_unregister(INT_SCIA_RX); Interrupt_unregister(INT_SCIA_TX); SCI_performSoftwareReset(SCIA_BASE); Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP9); EINT; ERTM; }
似乎有剩余的东西,因为当我 Bios_Start ()我有一个未被处理的中断上升.
在启动 SYSBIOS 之前、有一些东西我漏掉了? 我强烈建议避免将此中断添加到 SYSBIOS、因为它实际上是在应用程序外部。