• 手机站
  • 收藏
聚培教育网合作机构 > 中山达内教育
中山达内教育
400-998-6158
中山达内教育以打造符合企业需求的实战型人才为目标,结合多种就业渠道,将学员就业视为己任。
中山达内教育

基于嵌入式Windows CE下串行通信的实现

嵌入式学习网

更新时间:2021-10-07 浏览:71
核心提示:Windows CE是一种中小型的、根据ROM的、具备Win32非空子集API的电脑操作系统。它的优点取决于小规格、Win32 API非空子集和对多服务平台的适用工作能力

Windows CE是一种中小型的、根据ROM的、具备Win32非空子集API的电脑操作系统。它的优点取决于小规格、Win32 API非空子集和对多服务平台的适用工作能力。在Windows CE下程序编写*须留意的是,Windows CE机器设备的資源非常少,储存器、显示屏都不大,插口也较为少,并且依据具体情况发生变化。此外,Windows CE只适用Unicode,这在程序编写时要分外留意。在Windows CE中,除开一些基本上的Windows通用性控制之外,也有一些专业设计方案的控制,例如CommandBar。Windows CE容积虽小,可是它的作用并许多,代码优化、文档实际操作、线程同步、互联网作用这些它都适用,能够说成苍蝇再小,五脏俱全。

2 Windows CE下的串口通信

串行通信端口号在Windows CE下归属于流插口机器设备,它是串行通信机器设备插口的基本I/O驱动软件启用和与通讯有关的实际涵数的融合。串行通信机器设备被视作用以开启、关掉、读写能力串行通信端口号的基本、可安裝的流机器设备。Windows CE的通讯涵数和其他大部分Windows的通讯涵数同样。尤其要留意的是,Windows CE不兼容立即对串行通信端口号的存储器开展程序编写。常见的串行通信端口号涵数详细介绍以下:

(1)开启和关掉串行通信端口号

CreateFile函数用以开启串行接口。

hPort=CreateFile(TEXT(“COM1:”),GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL)。留意COM1后要有一个灶具。最后一个主要参数dwFlagsAndAttributes务必为0,由于Windows CE只适用非重合I/O。第3个主要参数dwShareMode也务必为0,通讯端口号不可以像文档一样被共享资源。这一涵数的传参是已开启的串行通信端口号的返回值或是是INVALID_HANDLE_VALUE。

关掉串行接口能够启用CloseHandle(hPort)。

(2)配备串行通信端口号

配备串行接口主要是用DCB构造配备端口设置,包含串口波特率、终止位、数据位长短、校验位、流量监控这些,也有配备超正值。*开启串行通信端口号,用GetCommState函数得到 当今开启串口通信配备,随后依据*须改动DCB组员,最终用SetCommState函数设定新的串口通信配备。

DCB PortDCB; //建立DCB自变量

Port.DCB.DCBlength=sizeof(DCB);

GetCommState(hPort,&PortDCB); //获得当今串口通信配备改动DCB组员

PortDCB.BaudRate=9600; //串口波特率

PortDCB.Parity=NOPARITY; //校验位

PortDCB.StopBits=ONESTOPBIT; //终止位

PortDCB.ByteSize=8;

. SetCommState(hPort,&PortDCB); //设定新的串口通信配备

更多>同类资讯
更多>相关课程
顶部