您好,
我正在为 SCI端口开发TMS320F2.8335万。
我已经开发了一个代码,它可以通过中断将char从TX线路传输到PC。 我在这里不是使用FIFO功能,而是使用过的标准SCI接口。
我的代码,如果我想通过TX线路发送两条连续消息,则仅最后一条消息已成功写入。
下面是相同的代码段。
----------------
char g_message[512]={0};
UINT16 g_index =0;
UINT16 g_messge_len = 0;
char x[]={"\r\ndddddddddafa dfbxd sgj@@$#@$@ fdgs ^^^&%$n"};
scia_sendline (x);
字符数据名称[]={"\n\n\r多米尔\n\r\n"};
scia_sendline (dataframe);
void scia_sendline(car *dataframe)
{
UINT16 I = 0;
while (dataframe[i]!='\0')
{
g_message[i]=数据流名称[i];
I++;
}
g_messge_len = i;
SciaRegs.SCITXBUF=g_message[g_index+];
}
void scia_init()
{
SciaRegs.SCICCR.ALL =0x0007;
SciaRegs.SCICTL1.all =0x0003;
SciaRegs.SCIHBAUD = 0x0001;
SciaRegs.SCILBAUD = 0x00E7;
SciaRegs.SCICTL2.bit.TXINTENA = 1;
SciaRegs.SCICTL1.all = 0x0023;
}
中断无效SCIA_TX_ISR(void)
{
如果(g_messge_len != g_index)
SciaRegs.SCITXBUF= g_message[g_index+];
PieCtrlRegs.PIEACK.ALL = PIEACK_group9;
}
请给我一些解决方案。 我需要从第一到最后的一系列消息。