一种基于SOPC技术的EPA控制器
其部分报文处理程序如下:
/*报文发送*/
void SendTask(void *pdata){
struct netconn *conn;
struct ip_addr remote_addr,local_addr;
struct netbuf * buf;
struct udp_pcb * udpbuf;
struct pbuf * buf;
char text[] = A static test;
/*设置远程主机的IP地址*/
remote_addr.addr = htonl(0x8080023D);
/*设置本地主机的IP地址*/
local_addr.addr = htonl(0x80800233);
for(;;){
/*建立一个新连接*/
conn = netconn_new(NETCONN_UDP);
/*绑定本地IP地址和端**/
netconn_bind(conn,local_addr,0x88BC);
/*连接远程主机*/
netconn_connect(conn,remote_addr,0x88BC);
buf = netbuf_new();
/*建立任意的数据*/
netbuf_ref(buf,text,sizeof(text));
netconn_send(conn,buf);
netconn_delete(conn);
netbuf_delete(buf);
OSTimeDlyHMSM(0,0,1,0);
buf = pbuf_alloc(PBUF_RAW, 60,
PBUF_RAM);
memcpy(buf->payload,text,
sizeof(text));
udpbuf = udp_new();
udpbuf->local_port = 0x88bc;
udpbuf->remote_port = 0x88bc;
udpbuf->local_ip = local_addr;
udpbuf->remote_ip = remote_addr;
udp_bind(udpbuf, udpbuf->local_ip,
udpbuf->local_port);
udp_sendto(udpbuf,buf,remote_addr,udpbuf->remote_port);
udp_remove(udpbuf); //释放
udp_pcb内存
pbuf_free(buf);
OSTimeDlyHMSM(0,0,1,0);
/* Main initializes lwIP, creates a single task and starts task scheduler. */
void ReceiveTask(void * pdata){//该任务
和IP协议栈相关,该任务由
_sys_thread_new函数来创建
struct netbuf * buf1,*buf2,*buf1_temp;
struct netconn * conn1,*conn2;
void * payload;
u16_t len;
struct ip_addr remote_addr,local_addr;
char text[] = I get a EPA packet,please
give me another,I need you, baby.;
remote_addr.addr = htonl
(0x8080023D);
local_addr.addr = htonl(0x80800233);
conn1 = netconn_new(NETCONN_
UDP);
conn2 = netconn_new(NETCONN_
UDP);
p2p机相关文章:p2p原理
蜂鸣器相关文章:蜂鸣器原理
评论