switch(getSn_SR(sn)) { case SOCK_ESTABLISHED: {if(getSn_IR(sn) & Sn_IR_CON) { setSn_IR(sn,Sn_IR_CON); } uint16_t size=0;if((size = getSn_RX_RSR(sn)) > 0) {if(size > DATA_BUFFER_SIZE) { size = DATA_BUFFER_SIZE; } uint8_t rxBuffer[DATA_BUFFER_SIZE];ret= recv...
if((size = getSn_RX_RSR(sn)) >0) {// Sn_RX_RSR: Socket n Received Size Register, Receiving data length if(size > DATA_BUF_SIZE) size = DATA_BUF_SIZE;// DATA_BUF_SIZE means user defined buffer size (array) ret = recv(sn, buf, size);// Data Receive process (H/W Rx socke...
setSn_IR(SOCK_TCPC, Sn_IR_CON);/*清除接收中断标志位*/} MainLen=getSn_RX_RSR(SOCK_TCPC);/*获取接收的数据长度*/if(MainLen>0){//接收到数据recv(SOCK_TCPC,MainBuffer,MainLen);/*接收来自Server的数据*/MainBuffer[MainLen]=0x00;/*添加字符串结束符*/printf("\r\n接收到消息:\r\n");...
len=getSn_RX_RSR(SOCK_TCPS);/*接收数据长度*/ if(len>0) { recv(SOCK_TCPS,buff,len); /*接收来自client数据*/ buff[len]=0x00; printf("%s\r\n",buff); send(SOCK_TCPS,buff,len)/*向client发送数据*/ } break; case SOCK_CLOSE_WAIT:/*关闭状态*/ close(SOCK_TCPS); break; } } 1....
int tcp_server(uint8_t sn, uint16_t port) { int8_t ret; uint8_t dest_ip[4]; uint16_t dest_port; uint16_t size = 0; switch (getSn_SR(sn)) { case SOCK_CLOSED: /* open socket */ printf("TCP server start\r\n"); ...
505个成员聚集在这个小组 加入小组
(getSn_IR(SOCK_TCPC)&Sn_IR_CON){setSn_IR(SOCK_TCPC,Sn_IR_CON);/*清除接收中断标志位*/}MainLen=getSn_RX_RSR(SOCK_TCPC);/*获取接收的数据长度*/if(MainLen>0){//接收到数据recv(SOCK_TCPC,MainBuffer,MainLen);/*接收来自Server的数据*/MainBuffer[MainLen]=0x00;/*添加字符串结束符*/...
rx_len =getSn_RX_RSR(socket);if(rx_len >0) {read(socket, buf, rx_len);/* Data received from server, do something */} = SPI_DIRECTION_2LINES; hspi1.Init.DataSize = SPI_DATASIZE_8BIT; hspi1.Init.CLKPolarity = SPI_POLARITY_LOW; ...
socket(SOCK_SNMP,Sn_MR_UDP,161,0); WDEBUG("Start SNMP Daemon(Agent) "); while(loopsnmpd) { if ( (len = getSn_RX_RSR(SOCK_SNMP))>0 ) { request_msg.len= recvfrom(SOCK_SNMP, (uint8 *)&request_msg.buffer[0], len, svr_addr, &svr_port); ...
你应该首先读取RX_RSR寄存器判断其是否有接收数据,然后读取数据,更新Sn_RX_RD寄存器值,而不是你说的...