AWorks编程——socket通信(一)
socket在计算机通信领域被称为“套接字”,是网络通信的一种方式,在AWorks系统中如何使用socket API建立服务器与客户端,进行数据通信呢?本文将详细为你介绍。概述要编写通过计算机网络通信的程序,首先要确定这些程序相互通信使用的协议,通常使用TCP或UDP协议族。TCP是面向连接的传输协议,建立连接时需要经过三次握手,断开连接时需要经过四次握手,中间传输数据也要回复ACK包进行确认。而UDP是非连接的传输协议,没有建立连接和断开连接的过程,它只是简单的把数据丢到网络中,也不明确区分服务器和客户端。因此TCP比UDP协议更加可靠,且TCP和UDP编程大致相同,所以本文就以TCP协议为例,建立图1所示的基本客户/服务器网络模型,进行通信。图1 基本服务器-客户端模型基本套接字编程图2给出了一对客户与服务器进程之间发生的典型事件的时间表。服务器首先启动,稍后客户端启动连接到服务器。所有的客户和服务器都从调用socket开始......阅读全文
AWorks编程——socket通信(一)
socket在计算机通信领域被称为“套接字”,是网络通信的一种方式,在AWorks系统中如何使用socket API建立服务器与客户端,进行数据通信呢?本文将详细为你介绍。概述要编写通过计算机网络通信的程序,首先要确定这些程序相互通信使用的协议,通常使用TCP或UDP协议族。TCP是面向连接的传输协
AWorks编程——socket通信(二)
程序清单3 回声客户端程序程序编写完成后,我们使用TCP上位机软件测试。打开TCP调试软件,如图3。创建服务器,如图4。最后启动服务器,如图5。图3 TCP调试工具图4 创建服务器图5 启动服务器以上步骤就绪后,在主程序中调用demo_tcp_client_entry()入口函数,编译、下载程序到开
AWorks编程——socket通信(三)
TCP服务器实例按照基本的套接字编程流程,建立服务器,我们只需要调用socket、bind、listen、accept、send、recv、closesocket函数即可,如程序清单4,首先使用socket函数创建TCP类型的套接字,然后调用bind函数绑定本地网卡的IP地址和端口号,使用liste
AWorks编程——socket通信(四)
客户端创建后,点击连接,如图11。图11 连接到服务器连接成功后,在发送区发送数据,接收区可以看到服务器回发的数据,如图12所示。此时在串口界面也可以看到服务器收到的数据,如图13。图12 客户端收发数据图13 服务器收到的数据出错调试如果程序运行后,没有成功建立连接,可按照以下步骤查看网络状态:首
AWorks编程:Shell交互界面(一)
在嵌入式操作系统中,图形界面占用的内存资源较大,通常情况下会使用Shell控制台作为交互界面ZLG AWorks提供了可视化、可配置的Shell控制台环境,允许在程序运行中配置系统信息,利于系统的维护与管理,本文为你详细介绍。1shell简介1.1 什么是shellShell是操作系统的命令行外壳,
AWorks编程:Shell交互界面(四)
3.1注册Shell命令以LED外设为例,注册三个控制LED的Shell命令:led_on、led_off和led_toggle。1、首先定义led shell命令表,命令表实际是一个结构体数组,数组中每个元素就是一个shell命令对象,它包含命令名称、命令描述,和命令要执行的函数。如程序清单 6。
AWorks编程:Shell交互界面(三)
2.4.2 mount命令描述挂载存储设备到指定的文件系统。语法结构mount <mount point> <device name> <FS type> 。取值说明<mount point> 为挂载点的名称,是必填参数,用户可自行取值。<device name> 是设备名称,必填参数。<FS ty
AWorks编程:Shell交互界面(二)
2.2 Shell Telnet 工作模式在Shell Telnet工作模式下,Shell 运行于开发板上,开发板需要通过以太网或 Wifi 模块建立的scoket与PC进行通信,此处以以太网举例。使用 Shell Telnet 需要在 aw_prj_params.h 文件中开启以太网设备和shel
AWorks框架下GPS接口的编程与应用(一)
物联智能时代,GPS定位应用愈发广泛,如何快速应用GPS定位模块,稳定有效的获取定位信息,缩短项目周期是至关重要的。本文就如何快速在AWorks OS操作系统中开发并稳定应用GPS模块进行详细介绍。 GPS简介GPS是Global Positioning System(全球定位系统)的简称,由美国
AWorks编程:嵌入式C语言的内存管理(一)
很多工程师都知道,C/C++语言与其他语言不同,它需要开发者自己管理内存资源,动态内存使用不当,容易造成段错误或者内存泄漏,因此内存管理至关重要。本文将以C语言为例介绍动态内存管理的原理。C/C++语言与其他语言不同,它需要开发者自己管理内存资源。对于动态内存的使用不当容易造成段错误或者内存泄漏。尤
AWorks框架下GPS接口的编程与应用(二)
在使用GPS模块时,设备管理列表g_awbl_devhcf_list[] 中已包含硬件设备名,其中GPS硬件配置信息如程序清单3.2所示。程序清单3.2其中指向设备信息(常量)如:与MCU通讯的串口号、波特率、需要使用的引脚等,具体信息详见程序清单3.3所示。程序清单3.3配置完通讯接口后还需要调用
AWorks框架下GPS接口的编程与应用(三)
程序清单4.2如用户在调用AW_GNSS_RMC_POSITION数据类型时,系统会自动解析对应的数据,如经纬度、时间等值,用户可免去繁琐的数据解析步骤。 应用案例代码详解此应用基于M1052平台演示,展示部分应用代码,详见程序清单5.1。程序清单5.1验证结果通过调用程序清单5.1,得出
AWorks编程:嵌入式C语言的内存管理(二)
2、内存资源的申请与释放我们这里以常用的内存操作接口——malloc与free为例,介绍操作动态内存的细节。void* malloc(size)——申请一片大小为size字节的内存。参考下图,灰色部分是已经被使用的内存,空白部分则是可以被申请使用的内存。在申请内存的时候,系统会首先判断有没有足够大的
AWorks编程:嵌入式C语言的内存管理(三)
内存泄漏令开发者头痛的地方也正是这个原因,内存泄漏的问题往往无法在第一时间被发现!而对于不熟悉内存管理的开发者更是难以定位错误。对于动态内存的操作,需要时刻记住:当一块申请的内存不再使用的时候,必须及时释放。一个malloc操作需要对应一个free操作。4、内存对齐在很多的场合下,分配的内存不仅要满
AWorks编程:嵌入式C语言的内存管理(四)
当用户用完资源的时候,把申请的3k还回去,系统会从used link找到申请的内存,将链入free link以供下次分配,然后将空闲相邻的内存块合并成完整的一块:现在考虑这样的一种情况:假设用户要申请5k的内存块,系统能够提供吗?并不能。虽然空闲的内存块一共有9k(2k+4k+3k),但是9k的内存
风电叶片运行监控系统方案
资料简介 本方案采用321T复合型传感器,每个传感器具有2路加速度信号,1路温度信号,采用4芯电缆进行连接。 因为传感器固定在风机叶片上,时刻在旋转中,因此传感器型号采用无线通信方式进行传输,底层链路采用802.11b/g/n标准。无线发射部分包括两个模块: AD模块。传感
如何用最简单的方式获取传感器数据?(二)
3、触发方式获取传感器数据如今大多数传感器内部都支持了通过中断触发的方式通知应用程序获取传感器数据的功能,应用程序只需检测触发类型做相应的处理即可,这样大大提高了应用程序的执行效率,避免了以查询这种耗时的方式主动获取传感器数据的操作。传感器具有的触发方式一般由传感器本身决定。例如,温湿度传感器HTS
新型无线通信技术Zigbee(一)
1、引言 随着通信技术的快速发展,短距离无线通信技术已经成为通信技术中的一大热点。各种网络终端的出现、工业控制的自动化和家庭的智能化等都迫切需要一种具备低成本、近距离、低功耗、组网能力强等优点的无线互联标准,Zigbee就是在这样的背景下应运而生的。Zigbee联盟成立于2001年8月。2
C51单片机编程技巧:LCD1602编程经验分享(一)
这次我来分享一下我的LCD1602的编程经验:先说明一下,我下面要说的LCD1602的芯片驱动是HD44780,如果你们的LCD1602驱动芯片不是HD44780,那么下面的内容是不适用的。我对LCD1602的整体理解这里说一下我对LCD1602的整体理解哈,LCD1602是一个可以显示两行
毫米波通信技术应用介绍(一)
An Introduction to Millimetre Wave TechnologyWith users ranging from enterprise level data centres to single consumers with smart phones requiring
什么是相干光通信?(一)
☑ 为什么在骨干网,长距传输上选择了相干光通信?☑ 了解相干光通信之前所需的知识储备☑ QPSK,QAM等复杂调制格式具体实现的方式 在光通信行业里,我们经常听到400G和100G传输,而相干光通信和PAM4传输技术在数据中心及网络基础设施中是当下实现这两种速率的主要技术方向。按照这两种技术各
唯一做语义计算的编程理论!袁崇义提出OESPA新编程理论
从科学出版社获悉,该出版社日前出版了北大信息学院软件理论教研室原主任、教授袁崇义的英文专著《OESPA: Semantic Oriented Theory of Programming》,书中提出了面向语义的新编程理论OESPA,这是目前唯一能做语义计算的编程理论。 袁崇义介绍,OESPA包括
量子通信是迄今唯一被严格证明无条件安全的通信方式
打个电话,会不会被窃听?通过网络传送一份保密文件,途中被他人窃取咋办……现代社会,信息安全面临的问题越来越多。 有没有一种不可破译的保密方式,能让传送的信息绝对安全可靠?近些年来,量子通信技术的飞跃发展正让梦想成为现实。 一问:什么是量子? 量子是光子、质子、中子、电子、介子等基本粒子的
量子通信:绝密的未来通信
量子通信技术基于量子物理学的基本原理,克服了经典加密技术内在的安全隐患,是迄今为止唯一被严格证明是无条件安全的通信方式。为了拓展应用、与现有通信系统兼容以及大量减少成本,需对点对点的通信方式进行组网并充分利用经典通信设施。与此同时,量子克隆技术的出现也使得我们开始重新审视量子通信的安全性问题。量
基于自编程功能的MCU-Bootloader设计(一)
Bootloader是在单片机上电启动时执行的一小段程序。也称作固件,通过这段程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用应用程序准备好正确的环境。 Boot代码由MCU启动时执行的指令组成。这里的loader指向MCU的F
未来光纤通信将如何继续提升?(一)
经过数十年来指数式的增长,光纤通信的速度可能遇到了瓶颈。 自二十世纪80年代以来,光纤中每秒可以传送的信息字节数已经增加了大约1000万倍。即使是在上个世纪末期电子技术飞速发展的前提下,这样的发展速度也是惊人的,甚至超过了。同时期集成电路芯片上的晶体管数量的增长速度。对于后者,有摩尔定
中企加速布局一带一路通信市场
“一带一路”带来的巨大商机吸引着中国企业前赴后继。北京晨报记者昨日获悉,中国联通(泰国)运营有限公司近日在泰国曼谷正式成立,而三大运营商的布局都在有序铺开。 泰国位于东盟地区的核心地带,是东盟的物流、贸易和金融中心,也是东盟与中国之间天然的桥梁。通过成立泰国公司,中国联通国际有限公司将
嵌入式硬件通信接口协议IIC一:协议基础(一)
本节继续讲嵌入式硬件通信接口协议中的又一个串行通信接口-IIC。相比于UART串口协议和SPI串行外设接口协议,这个IIC又有其独特之处。简介IIC(Inter-Integrated Circuit),集成电路总线。IIC 即Inter-IntegratedCircuit(集成电路总
2024北京通信展:聚焦新一代信息通信技术、产品、应用及解决方案
中国国际信息通信展览会(PTEXPO)作为工业和信息化部主办的ICT行业盛会,自1990年创办以来,已走过了三十多年的辉煌历程。三十余载光阴荏苒,PT展以其独特的魅力,不仅成为反映信息通信行业发展新成果的重要窗口,更成为促进全球信息通信领域交流合作的重要桥梁,被誉为行业发展的晴雨表和技术演进的风向标
“天通一号”来了-地面通信遭遇强敌?
荒郊野外、狂风暴雨,通信中断,此时主人公依靠海事卫星与外界取得联系,并最终获救……这是在电影中经常会看到的情节。在现实生活中也是如此,地震、洪水、暴雪等恶劣自然条件很容易导致电力中断,手机无法使用。这种情况下,卫星电话常能发挥意想不到的作用,救人于危难。 近日,中国电信在青海省发布“天通一