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

28335 SCI中断接收数据,每隔10ms连续发送字符串数据,30s后进入不了串口中断服务函数,请问大家有什么解决方案

用串口工具连续给28335的SCIB发送数据,以中断方式接收数据,数据前30秒左右正常进入中断服务函数,30s左右过后,无法进入中断服务函数,当时同时定时器0正常工作LED灯的闪烁无问题。SCIB配置为无FIFO中断接收发送模式。

下面为配置代码。

void scib_fifo_init(void)
{

ScibRegs.SCICCR.all =0x0007;
ScibRegs.SCICTL1.all =0x0003;
ScibRegs.SCICTL2.bit.RXBKINTENA = 1;
ScibRegs.SCICTL2.bit.TXINTENA = 1;
ScibRegs.SCIHBAUD = 0;
ScibRegs.SCILBAUD = 39;
SciaRegs.SCICCR.bit.LOOPBKENA =0;
ScibRegs.SCICTL1.bit.TXENA = 1; // SCI transmitter enable
ScibRegs.SCICTL1.bit.RXENA = 1; // SCI receiver enable
ScibRegs.SCICTL1.bit.SWRESET = 1;
}

__interrupt void scibRxIsr(void)
{

DINT;

Uint8 rcvdat;

rcvdat = ScibRegs.SCIRXBUF.all;
ScibRegs.SCITXBUF = rcvdat;

PieCtrlRegs.PIEACK.all|= PIEACK_GROUP9; // Issue PIE ACK
EINT;
}

peng chen9:

现将定时器0关闭后,串口接收中断可以一直进入,timer0  串口中断接收有冲突,如何解决。

用串口工具连续给28335的SCIB发送数据,以中断方式接收数据,数据前30秒左右正常进入中断服务函数,30s左右过后,无法进入中断服务函数,当时同时定时器0正常工作LED灯的闪烁无问题。SCIB配置为无FIFO中断接收发送模式。

下面为配置代码。

void scib_fifo_init(void)
{

ScibRegs.SCICCR.all =0x0007;
ScibRegs.SCICTL1.all =0x0003;
ScibRegs.SCICTL2.bit.RXBKINTENA = 1;
ScibRegs.SCICTL2.bit.TXINTENA = 1;
ScibRegs.SCIHBAUD = 0;
ScibRegs.SCILBAUD = 39;
SciaRegs.SCICCR.bit.LOOPBKENA =0;
ScibRegs.SCICTL1.bit.TXENA = 1; // SCI transmitter enable
ScibRegs.SCICTL1.bit.RXENA = 1; // SCI receiver enable
ScibRegs.SCICTL1.bit.SWRESET = 1;
}

__interrupt void scibRxIsr(void)
{

DINT;

Uint8 rcvdat;

rcvdat = ScibRegs.SCIRXBUF.all;
ScibRegs.SCITXBUF = rcvdat;

PieCtrlRegs.PIEACK.all|= PIEACK_GROUP9; // Issue PIE ACK
EINT;
}

peng chen9:

回复 peng chen9:

关掉定时器后工作时间能长一些还是会一段时间后进入不了串口接收中断

赞(0)
未经允许不得转载:TI中文支持网 » 28335 SCI中断接收数据,每隔10ms连续发送字符串数据,30s后进入不了串口中断服务函数,请问大家有什么解决方案
分享到: 更多 (0)