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.

[参考译文] TMS320F28377S:无法进入 SCI 传输中断

Guru**** 2434370 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1060444/tms320f28377s-unable-to-enter-the-sci-transmission-interrupt

器件型号:TMS320F28377S

尊敬的团队:

配置:CCS 未优化、SCI 使用空闲线模式、不使用 FIFO、只将 SCI 配置为与 PC 通信、因此没有地址位。

我的客户端希望发送主函数中数组的第一个位、然后触发发送中断、然后发送发送中断中的剩余数据。

Q:在向 TXBUF 写入数据之前、发送和发送中断已经被使能(TXENA、TXINTENA 被设定为1)、并且接收和接收中断被关闭(RXENA、RXBKINTENA 被设定为0)。
使用调试单步调试。 将数据写入 TXBUF 的 TXDT 位后、TXRDY 变为0、表示数据已写入 TXBUF。 但是、如果执行继续、数据总是保存在 TXBUF 寄存器中、不会被移动到 TXSHF 寄存器中进行传输。 TXRDY 位始终为0、发送中断不能被触发。

void User_Sci_Init(void) // SCI外设初始化
{
    User_Sci_Gpio_Init();

    Interrupt_register(INT_SCIA_RX, sciaRxISR); // Map the ISR to the wake interrupt.
    Interrupt_register(INT_SCIA_TX, sciaTxISR);

    SCI_setConfig(SCIA_BASE, DEVICE_LSPCLK_FREQ, 9600, (SCI_CONFIG_WLEN_8 | SCI_CONFIG_STOP_ONE | SCI_CONFIG_PAR_NONE));  // LSP Clk = SYSCLK / 4 (Default)
    
    SCI_enableModule(SCIA_BASE);
    SCI_disableLoopback(SCIA_BASE);
    SCI_resetChannels(SCIA_BASE);
    SCI_disableFIFO(SCIA_BASE);

    SCI_enableInterrupt(SCIA_BASE, SCI_INT_TXRDY | SCI_INT_RXRDY_BRKDT);
    SCI_clearInterruptStatus(SCIA_BASE, SCI_INT_TXRDY | SCI_INT_RXRDY_BRKDT);

    SCI_performSoftwareReset(SCIA_BASE);

    Interrupt_enable(INT_SCIA_RX);
    Interrupt_enable(INT_SCIA_TX);
    Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP9);
}

此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    绿色环保、

    您能否让客户通过示波器捕获确认 SCI-TX 引脚上是否接收到输出? 我想先彻底检查数据是否到达引脚、然后再讨论其他潜在问题。

    此外、您能否验证以下语句中的"位"还是"字节"? 我认为单独发送一个位是不可行的、但一个字节是可以的:

    [引用 userid="306637" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/C2000-microcontrollers-forume/1060444/tms320f28377s-uncapable to enter-the-sci-transmission -interrupt"]我的客户端希望发送主函数中数组的第一位[/quote

    我期待您的回应!

    此致、

    Vince