TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28377S: 无法进入SCI发送中断

Part Number:TMS320F28377S

SCI外设初始化配置如下:

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);
}

代码的目的是:想在主函数中将一个数组的第一位发送出去,然后触发发送中断,将剩下的数据在发送中断中发送出去。

基本配置:CCS未开优化器,SCI使用idle-line模式,不使用FIFO,仅配置SCI与PC进行通信,因此无地址位。

目前遇到的情况是:在将数据写入TXBUF前,已将发送以及发送中断使能(TXENA,TXINTENA置1),接受以及接收中断关闭(RXENA,RXBKINTENA置0)。使用Debug单步调试,在将数据写入TXBUF的TXDT位后,TXRDY变成0,表示数据已经写入TXBUF。然而继续执行,数据始终保留在TXBUF寄存器中,没有移到TXSHF寄存器中发送,,TXRDY始终为0,无法触发发送中断。

Green Deng:

你好,问题已经收到,我需要一点时间跟其他工程师确认一下,还请耐心等待。

,

Green Deng:

你好,能否通过示波器先确认 SCI-TX 引脚有没有输出?需要先检查数据是否已到达引脚。

另外,你是要发送 "bit" 还是 "byte"? 我不认为单独发送一“bit”会起作用,但是一个字节应该可以。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28377S: 无法进入SCI发送中断
分享到: 更多 (0)