0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英创信息技术串口WiFi在WinCE工控主板上的编程方法

英创信息技术 来源:英创信息技术 作者:英创信息技术 2020-02-05 11:14 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

ETA6103工作时,对软件来说,完全当作串口来操作,发送AT指令建立互联网连接。配置信息、网络数据传输均通过一个串口传输。为方便用户编程,英创公司封装了一个CUartWifi类,提供了配置无线网络和建立TCP/UDP传输的公共函数,用户不用关心具体的AT指令即可进行开发。

使用说明

参考例程uart_wifi,工程中添加Serial.h , Serial.cpp, ETA6103.h, ETA6103.cpp共4个文件。

添加引用#include "ETA6103.h"

即可创建类并使用CUartWifi myWifi;

WiFi连接管理

参考例程APConnect,该例程简单展示如何进行AP连接的管理

调用Open,AutoCfg方法初始化模块

调用GetAPList方法查询附近的AP

调用ConnectAP方法连接AP

调用SetDefAP设置上电后默认连接的AP(不能在该AP无法连接时设置)

调用DisconnectAP方法断开AP连接

调用GetCurIP查询AP分配到的IP地址

UDP通信

参考例程Udp。

调用Open,AutoCfg方法初始化模块

CUartWifi m_ETA6103;

m_ETA6103.Open();

m_ETA6103.AutoCfg();

调用ConnectUdp打开UDP连接,并创建线程用来等待消息接收

ip = “192.168.201.248”;

rport = 6000;

lport = 5000;

bRet = m_ETA6103.ConnectUdp(0, ip, rport, lport);

m_hRecvThread = CreateThread(0, 0, RecvTread,this, 0, NULL);

向远端发送数据

charstr[32] = “test udp”;

len = strlen(str);

bRet = m_ETA6103.SendMsg(0, str, len);

接收线程处理

DWORD CUdpDlg::RecvTread(LPVOID lparam)

{

CUdpDlg *pDlg = (CUdpDlg*)lparam;

DWORD dwLen;

charrecvBuf[1024];

while(!pDlg->m_bThreadStop)

{

pDlg->m_ETA6103.WaitMsg(); //等待消息

if(dwRet == WAIT_OBJECT_0)

{

pDlg->m_ETA6103.ReadMsg(0, recvBuf, 1023, &dwLen);

//读数据

while(dwLen>0)

{

//处理代码

pDlg->m_ETA6103.ReadMsg(0, recvBuf, 1024, &dwLen);

//循环读直到读完buffer

}

}

}//while(!pDlg->m_bThreadStop)

return0;

};

TCP客户端通信

参考例程TcpClient。

调用Open,AutoCfg方法初始化模块

CUartWifi m_ETA6103;

m_ETA6103.Open();

m_ETA6103.AutoCfg();

调用ConnectUdp打开UDP连接,并创建线程用来等待消息接收

ip = “192.168.201.248”;

port = 6000;

bRet = m_ETA6103. ConnectTcpServer (0, ip, port);

m_hRecvThread = CreateThread(0, 0, RecvTread,this, 0, NULL);

向远端发送数据

charstr[32] = “test tcpclient”;

len = strlen(str);

bRet = m_ETA6103.SendMsg(0, str, len);

接收线程处理

DWORD CUdpDlg::RecvTread(LPVOID lparam)

{

CUdpDlg *pDlg = (CUdpDlg*)lparam;

DWORD dwLen;

charrecvBuf[1024];

while(!pDlg->m_bThreadStop)

{

pDlg->m_ETA6103.WaitMsg(); //等待消息

if(dwRet == WAIT_OBJECT_0)

{

pDlg->m_ETA6103.ReadMsg(0, recvBuf, 1023, &dwLen);

//读数据

while(dwLen>0)

{

//处理代码

pDlg->m_ETA6103.ReadMsg(0, recvBuf, 1024, &dwLen);

//循环读直到读完buffer

}

}

}//while(!pDlg->m_bThreadStop)

return0;

};

可以看到,TCP客户端的使用和UDP几乎一样,只是连接时调用的函数不一样

TCP服务端通信

参考例程TcpClient。

调用Open,AutoCfg方法初始化模块

CUartWifi m_ETA6103;

m_ETA6103.Open();

m_ETA6103.AutoCfg();

调用CreateTcpServer打开服务端连接,并创建线程用来侦听客户端连接和数据接收

port = 6000;

bRet = m_ETA6103. CreateTcpServer(port);

m_hRecvThread = CreateThread(0, 0, RecvTread,this, 0, NULL);

向对应的客户端发送数据

charstr[32] = “test tcpserver”;

intid = 1; //向链接号为1的客户端发送信息

len = strlen(str);

bRet = m_ETA6103.SendMsg(id, str, len);

接收线程处理

在例程中,将客户端连接和消息接收,封装到同一个事件中,然后通过标记位判断事件的类型,客户可以根据需要,修改封装代码,改为各自事件分别处理,或者修改为多个线程来处理连接事件,和消息接收事件。

DWORD CTcpServerDlg::RecvTread(LPVOID lparam)

{

CTcpServerDlg *pDlg = (CTcpServerDlg*)lparam;

DWORD dwLen;

charrecvBuf[1024];

DWORD dwRet;

intlen;

inti;

intn;

while(!pDlg->m_bThreadStop)

{

dwRet = pDlg->m_ETA6103.WaitMsg();

if(dwRet == WAIT_OBJECT_0)

{

for(i=0; i<5; i++)

{

if(pDlg->m_ETA6103.m_link[i].eventFlag & EVT_STAT) //状态变化

{

if(pDlg->m_ETA6103.m_link[i].stat == 0)//close

{

//用户断开代码处理

}

else//connected

{

//用户连接代码处理

}

}

if(pDlg->m_ETA6103.m_link[i].eventFlag & EVT_RECV) //数据接收

{

pDlg->m_ETA6103.ReadMsg(i, recvBuf, 1020, &dwLen);

while(dwLen>0)

{

//数据接收代码处理

pDlg->m_ETA6103.ReadMsg(0, recvBuf, 1024, &dwLen);

}

}

if(pDlg->m_ETA6103.m_link[i].eventFlag & EVT_ERR) //错误事件

{

//错误事件代码处理

}

pDlg->m_ETA6103.m_link[i].eventFlag = 0;

}

}

}//while(!pDlg->m_bThreadStop)

return0;

}

速度测试例程

例程TestSpeed用于测试文件接收速度。通过SetCurUart可以设置波特率(最大460800,建议默认115200),用户可以选定最适合自己应用的配置。

注意,在高速传输过程中,如果接收BUFFER收满来不及处理,将发生数据丢包。建议参考例程,在对应位置添加处理代码。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6107

    浏览量

    37155
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    全面适配国产操作系统的龙芯平台工控机,构建信产业坚实硬件底座

    产业,即信息技术应用创新产业,是当前国家信息化发展的战略重点。其核心目标是构建自主可控的信息技术体系,从芯片、操作系统到整机、应用软件,实现全链路的国产化替代。在这一宏伟蓝图中,
    的头像 发表于 04-08 17:14 419次阅读
    全面适配国产操作系统的龙芯平台<b class='flag-5'>工控</b>机,构建信<b class='flag-5'>创</b>产业坚实硬件底座

    龙芯主板——信体系的智慧硬核基石

    信息技术飞速发展的当下,信体系的自主可控与创新升级已成为国家战略层面的关键任务。作为信产业发展的重要基础硬件支撑,国产工控
    的头像 发表于 03-11 10:44 252次阅读
    龙芯<b class='flag-5'>主板</b>——信<b class='flag-5'>创</b>体系的智慧硬核基石

    产业驶入快车道,国产工控主板成自主可控关键支撑

    当前,我国信产业规模大幅突破,信息技术应用创新产业迎来高速发展期。发展信,早已超越单纯的技术升级范畴,成为保障国家信息安全、推动经济高质
    的头像 发表于 03-04 14:18 187次阅读
    信<b class='flag-5'>创</b>产业驶入快车道,国产<b class='flag-5'>工控</b><b class='flag-5'>主板</b>成自主可控关键支撑

    国产化引领丨康仕携手龙芯打造信国产化工控全场景解决方案

    基于龙芯平台的国产化工控产品矩阵已全面成型,全系列符合信国产化标准。 围绕龙芯2K3000与龙芯3B6000M处理器,康仕完成覆盖边缘计算、智能制造、智能交通、移动加固计算等领域的全场景信
    的头像 发表于 02-24 16:11 1469次阅读
    信<b class='flag-5'>创</b>国产化引领丨<b class='flag-5'>英</b>康仕携手龙芯打造信<b class='flag-5'>创</b>国产化<b class='flag-5'>工控</b>全场景解决方案

    国产金融主板:赋能智慧金融,驱动信产业升级

    随着信息技术的飞速迭代,信产业已在全球范围内崛起,成为拉动经济增长、激活创新动能的核心力量。产业的关键布局中,智慧金融建设是重中之重,而国产金融
    的头像 发表于 12-31 09:03 251次阅读
    国产金融<b class='flag-5'>主板</b>:赋能智慧金融,驱动信<b class='flag-5'>创</b>产业升级

    国产芯筑基,飞腾主板赋能信未来

    信息技术自主可控成为国家战略的今天,信产业正从“政策驱动”迈向“市场驱动”的高质量发展新阶段。作为信产业链的核心硬件基石,主板的国产化
    的头像 发表于 12-30 09:49 345次阅读
    国产芯筑基,飞腾<b class='flag-5'>主板</b>赋能信<b class='flag-5'>创</b>未来

    3A6000四核龙芯工控主板,推动信工控深度融合

    当今信科技快速发展,技术的不断演进和市场需求的变化,工控领域也进行源源不断地创新,其中最引人注目的是国产龙芯
    的头像 发表于 11-14 09:10 485次阅读

    工控主板的设计特性

    工业自动化、智能装备、物联网等领域,工控主板作为核心控制单元,其设计质量直接决定了整个系统的稳定性、可靠性与运行效率。与消费级主板不同,工控
    的头像 发表于 11-13 08:58 578次阅读
    <b class='flag-5'>工控</b><b class='flag-5'>主板</b>的设计特性

    新时代的硬核基石:龙芯工控主板助力信产业新基建

    在数字技术重塑产业格局的今天,信产业已成为保障国家信息技术安全的核心战略。作为工业自动化系统的大脑,工控主板的自主可控程度直接决定信创新基
    的头像 发表于 11-05 13:54 387次阅读

    工控主板的三大核心技术

    工业自动化的浪潮中,工控主板如同“工业大脑”的核心载体,支撑着各类设备的稳定运行与智能升级。相较于消费级主板工控
    的头像 发表于 10-16 11:05 492次阅读

    智慧新核心,龙芯主板助力信体系再升级

    信息技术飞速发展的当下,信体系的自主可控与创新升级已成为国家战略层面的关键任务。作为信产业发展的重要基础硬件支撑,国产工控
    的头像 发表于 08-11 09:14 801次阅读

    飞腾主板为信产业发展提高硬实力

    信息技术飞速发展的当下,信产业已成为我国实现科技自立自强、保障国家信息安全的关键领域。信,即信息技
    的头像 发表于 07-22 18:20 821次阅读

    科普|信是什么?一文读懂“信息技术应用创新”战略

    什么是信?信,即“信息技术应用创新”,是国家推动IT系统自主可控、安全可控的重要战略工程。它不仅是技术层面的创新,更承载着保障国家网络安全、推动产业升级和实现数字主权的重任。简单来
    的头像 发表于 06-13 10:06 9523次阅读
    科普|信<b class='flag-5'>创</b>是什么?一文读懂“<b class='flag-5'>信息技术</b>应用创新”战略

    浪潮下,国产主板有什么新的发展机遇?

    信息技术应用创新浪潮的推动下,国产主板迎来了诸多新的发展机遇。信产业旨在实现信息技术领域的自主可控,这一战略目标为国产
    的头像 发表于 05-09 09:24 866次阅读
    信<b class='flag-5'>创</b>浪潮下,国产<b class='flag-5'>主板</b>有什么新的发展机遇?