stm32_ota/HARDWARE/LTE/EC20/ec20tcp.h

46 lines
2.5 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#ifndef _EC20TCP_H
#define _EC20TCP_H
#include "ec20net.h"
#define TCP_CONTEXTID 1 //1~16 本驱动强制规定TCP/IP协议只用一个链路1D即contextID=1用于TCP链路
/*****************************************
*自定义变量类型
****************************************/
typedef enum //The URC of TCP/IP AT commands will be reported to the host in the format of beginning with “+QIURC:”
{
CLOSED = 0 , //Socket service connection is closed
RECV = 1 , //receiving data, the module will report a URC to the host
INCOMING_FULL = 2 , //incoming connection reaches the limit
INCOMING_CONT = 3 , //he <service_type> is “TCP LISTENER”, when a remote client connects to this server
PDPDEACT = 4, //PDP context may be deactivated by the network
UNKNOWM = 5 //未知的URC
} TcpUrcType ; //《Quectel_EC20_R2.1_AT_Commands_Manual_V1.0》 P31
typedef struct //contextID:链路ID connetcID通道ID
{
uint8_t connectId ; //TCP链路通道ID
uint8_t serverIP[MAX_IP_LEN] ; //TCP链路通道 的Server IP
uint16_t serverPort ; //TCP链路通道 的Server PORT
uint16_t localPort ; //TCP链路通道 的Local PORT
}ChannalP_s ; //存放TCP通道参数结构体变量类型
/*****************************************
*内部函数声明
****************************************/
RunResult EC20_SendTcpCmd( uint8_t cmdNum, char *format,... ) ; // EC20通过串口发送TCP相关命令
RunResult Open_Socket(uint8_t connectId, uint8_t *serverIp, uint16_t serverPortNum, uint16_t localPortNum ) ; // 打开一个tcp通道
RunResult Close_Socket(uint8_t connectId) ; // 关闭一个tcp通道
RunResult Query_Socket(uint8_t connectId) ; // 查询一个tcp通道状态
/*****************************************
*对外接口函数声明
*注意所有共外部调用的接口入口参数全部统一为ChannalP_s *channal
****************************************/
extern RunResult Tcp_PDP_Init( void ) ; //EC20 TCP context的初始化只需要调用一次即可
extern RunResult Tcp_Channal_Init( ChannalP_s *channal ) ; //TCP通道初始化
extern RunResult Tcp_SendData(ChannalP_s *channal, uint8_t *sendBuf, uint16_t sendLen) ; //通过TCP通道发送TCP上行数据
extern TcpUrcType TcpUrcHandle( char *recvBuf, uint16_t recvLen ) ; //TCP/IP协议中模块返回的一写URC分类处理
#endif