初级会员

- 积分
- 113
- 金钱
- 113
- 注册时间
- 2013-12-22
- 在线时间
- 17 小时
|
2金钱
本帖最后由 天空的枫度 于 2017-2-22 15:56 编辑
程序目的:MCU接收网络数据并处理后,向网络返回一个数组。问题是:每次返回给网络的数据都会丢失最后一个字节,具体见程序,麻烦各位高手给指点一下,非常感谢!
vga_control.c文件
void MCU_to_TCP(u8 *ACKtoNet)
{
struct tcp_pcb *Mpcb;
NetDataFlag=0;
for(Mpcb = tcp_active_pcbs; Mpcb != NULL; Mpcb = Mpcb->next)
{
tcp_write(Mpcb,ACKtoNet,sizeof(ACKtoNet),1); //每次都丢失数组CorrectACK的最后一个字节0xef
tcp_output(Mpcb);
}
delay_ms(2);
USART_SendBytes(USART_1,ACKtoNet,sizeof(ACKtoNet));//这里发送到串口也是丢失数组的最后一个字节0xef
}
main.c文件
u8 CorrectACK[5]={0xfe,0x00,0x01,0xaa,0xef};
void process(u8 *ACKtoNet)
{
MCU_to_TCP(CorrectACK);
USART_SendBytes(USART_1,CorrectACK,sizeof(CorrectACK));//在这里将数组发送到串口就不会丢失
}
|
|