CH392的TCP_Serve例程无法发送数据

在Socket0接收中断中,可以将接收的数据发给客户端:

if(sock_int_socket & SINT_STAT_RECV)                              /* 接收中断 */

    {

        len = CH392GetRecvLength(sockindex);                          /* 获取当前缓冲区内数据长度 */


        if(len)

        {

            memset(SPI0_buf, 0, sizeof(SPI0_buf));

            CH392GetRecvData(sockindex, len, SPI0_buf);

            //CH392SendData(sockindex, SPI0_buf, len);   //可以发送

            SPIRec_len = len;                                             

        }

    }


但是在其他函数体中(比如当UART0接收到数据后),执行同样的函数CH392SendData(UINT8 sockindex, PUINT8 databuf, UINT16 len),客户端却接收不到数据。已经证实CH392SendData已经执行,请问是什么原因?程序要怎么写?

socket0作为TCP_SERVER收发数据不会是socket0的接收中断,您仔细对照一下socket索引号。


只有登录才能回复,可以选择微信账号登录