另一块板子通过uart发送给cc3200,3200通过uart中断接收并通过tcp发送给同一局域网下的pc,刚开始一切正常,但是跑一会pc端就收不到数据了。
已经排除uart发送端的问题(uart发送端一直在发送),另外我在用usb虚拟串口给3200发送数据的时候能一直正常发送不会出现跑一会就卡死收不到数据的情况,而且3200和uart发送端只要接着数据线,3200就无法重启,必须断开数据线并等待一段时间再给3200上电才能正常启动。
很费解,还请大家帮我看一下到底是哪儿的问题,谢谢了
发送函数主要代码
while(1)
{
if(cnt1 == PACKAGE||cnt2 == PACKAGE)
{
if(cnt1 == PACKAGE)
{
iStatus = sl_Send(iSockID, tempdata1, PACKAGE, 0);
cnt1 = 0;
}
if(cnt2 == PACKAGE)
{
iStatus = sl_Send(iSockID, tempdata2, PACKAGE, 0);
cnt2 = 0;
}
}
}
中断函数主要代码
while(UARTCharsAvail(UARTA1_BASE))
{
if(flag1 == 1)
{
tempdata1[cnt1++] = MAP_UARTCharGet(UARTA1_BASE);
if(cnt1 == PACKAGE)
{
flag2 = 1;
flag1 = 0;
//UART_PRINT(tempdata1);
}
}
if(flag2 == 1)
{
tempdata2[cnt2++] = MAP_UARTCharGet(UARTA1_BASE);
if(cnt2 == PACKAGE)
{
flag1 = 1;
flag2 = 0;
//UART_PRINT(tempdata2);
}
}
}