搜档网
当前位置:搜档网 › Windows CE中实现蓝牙串口驱动程序

Windows CE中实现蓝牙串口驱动程序

Windows CE中实现蓝牙串口驱动程序
Windows CE中实现蓝牙串口驱动程序

Windows CE中实现蓝牙串口驱动程序

作者:时间:2008-11-26 来源:52RD手机研发

摘要:蓝牙通信平台在嵌入式系统的实现过程中,OBEX(对象交换)始终是很重要的一部分,基于OBEX 的蓝牙文件传输得到广泛应用。而OBEX的实现是基于蓝牙仿真接口,所以蓝牙串口驱动程序的实现就有了很重要的意义。介绍了Windows CE下串口驱动程序的结构和一种具体的实现方法。

关键词:蓝牙 OBEX 嵌入式系统驱动程序

Windows CE作为一种典型的嵌入式操作系统,通过将蓝牙应用移植到Widows CE中,对于如pSOS+、Nucleus等其它嵌入式系统,具有典型意义。由于OBEX上的文件传输应用建立在RFCOMM实现的蓝牙仿真串口上,本文介绍OBEX文件传输的蓝牙虚拟串口驱动程序的实现。

1 Windows CE设备驱动程序概述

Windows CE支持广泛的基于各种CE平台的设备驱动程序。目前,它提供了四种设备模型,其中两种是专用于Windows CE的模型,另外两种外部模型来自其它操作系统。基于Windows CE的两种模型是本机的设备驱动程序和流接口驱动程序。两种外部模型用于通用串行总线(USB)和网络驱动器接口标准(NDIS)的驱动程序。

由于蓝牙协议是在无线技术下的仿真串口,蓝牙中OBEX的许多应用正是基于蓝牙仿真串口。而流接口驱动程序通过一组流接口函数使得应用程序可以通过文件系统中的特殊文件而与设备接口,因此蓝牙仿真串口的功能性更适合流接口驱动程序的结构。

2 Windows CE下蓝牙串口驱动程序的实现

虽然蓝牙设备驱动程序的实现采用流接口驱动程序设计,但由于两种驱动程序的基本结构与原理相似,所以下文从本机设备驱动程序结构开始,可以更清楚地认识蓝牙设备驱动程序的实现原理。

2.1本机设备驱动程序结构

Windows CE中包含的样本设备驱动程序分为两种类型:单片驱动程序(Monolithic device driver)和分层的驱动程序(Layered Devicedriver)。单片驱动程序基于单个码片,该码片直接把硬件设备的功能性通过设备驱动程序接口传递给操作系统。与单片驱动程序相比,分层的驱动程序由两个设置好的层组成:上层是模

型设备驱动程序(MDD),下层是依赖平台的驱动程序(PDD)。本文采用分层的驱动程序来连接蓝牙硬件和上面的文件传输应用。图1说明了两种驱动程序是如何在Windows CE操作系统中集成的。

设备驱动程序接口(DDI)是在MDD中实现的函数集,GWES模块通过这个接口调用设备驱动程序;设备驱动程序服务器提供接口(DDSI)是在PDD中实现的函数集并由MDD调用。由于微软提供了所有与MDD模块相关的源代码,所以对这部分不用做任何改动,只需将自己的PDD模块与MDD模块链结成一个公用库。

理解了本机设备驱动程序的结构后,从图1右边不难看出,流接口驱动程序只是把流接口作为它们的DDI使用。在这种情况下,不必要把这些驱动程序与GWES模块逻接起来。它们以普通的DLL方式存在并根据需要被调用。

2.2 蓝牙仿真串口驱动程序实现

蓝牙仿真串口是用蓝牙RFCOMM协议实现无电缆的无线串口通信,与本机设备驱动程序一样,实现流接口的串口驱动程序同样只需实现蓝牙的PDD模块。

PDD模块包括四部分:第一部分是必须自己实现的所有DDSI接口;第二部分是蓝牙协议栈包括FRCOMM、SDP、L2CAP以及HCI实体;第三部分是HCI传输层通过UART或者USB接口连接到蓝牙硬件;最后一部分是为蓝牙应用提供的图形界面接口和控制端口模块,用来对整个协议栈初始化、蓝牙硬件初始化、搜索附近的蓝牙设备以及发现指定设备上的服务。如图2所示。

在图2所示的蓝牙仿真串口驱动程序的系统结构中,设备管理程序是用户层的程序,在基于Windows CE的平台上不停地运行着。设备管理程序不是内核的一部分,但它是与内核、注册表和注接口驱动程序DLL有相互影响的单独部分。它主要执行以下任务:

HWOBJ BluetoothObj={ /*描述蓝牙仿真串口特征*/

(PDEVICE_LIST)&SerDL,

THREAD_IN_PDD,/*中断处理全部由PDD层处理*/

0,

NULL,

(PHW_VTBL)&BluetoothVTbl/*包含需要实现的所有标准串口DDSI函数的列表*/

};

HWOBJ BluetoothCTRLObj={/*描述蓝牙控制端口特征*/

(PDEVICE_LIST)&SerDL,

THREAD_IN_PDD,

0,

NULL,

(PHW_VTBL)&CTRLVTb1

};

PHWOBJ rgpHWObjects[]={/*包含两个PDD实例的数组*/

&BluetoothObj,

&BluetoothCTRLObj

};

DEVICE_LIST SerDL={/*存储设备驱动程序中所有串口设备*/

“CESerial.dll”,/*串口驱动程序的名字*/

sizeof(rgpHWObjects)/sizeof(PHWOBJ),/*串口设备的数目*/

regHWObjects

};

PDEVICE_LIST GetSerialObject(VOID)

{

return (&SerDL);

}

在串口驱动程序中注册了两个串口设备后,就要实现这两个PDD实例对应的流接口函数。微软为要实现的串口PDD模块提供了一个HWOBJ(Haredware Object)类型的串行对象表,这个结构列出了实现串口驱动的所有接口函数指针。见下面的描述:

typedef struct _HW_VTBL{

PVOID(*HWInit)(ULONG Identifier,PVOID pMDDCon-text,PHWOBJ pHWObj);

…,

…,

BOOL(*HWIoct1)(PVOID pHead,DWORD dwCode,

PBYTE pBufIn,DWORD dwLenIn,PBYTE pBufOut,DWORD

DwLenOut,PDWORDpdwActualOut);

} HW_VTBL,*PHW_VTBL;

用户通过修改串行口PDD的串行对象表改变函数集或函数名。下面的结构BluetoothVTbl的定义了蓝牙仿真串口DDSI函数的名称。

Const HW_VTBL BluetoothVTbl={

BluetoothInitSerial,

…,

…,

BluetoothIoctl

};

同样用结构变量CTRLVTbl定义了控制端口的DDSI函数名列表。由于这个串口设备用作内部实现特殊的功能,下面只列出了需要关心的主要函数名。

Const HW_VTBL CTRLVTbl={

CTRLInitSerial,

CTRLDeinit,

CTRLOpen,

CTRLClose,

…,

…,

CTRLIoctl

};

蓝牙作为一个驱动新经济的引擎,将会对以嵌入式系统为主的“后PC机”时代的到来产生巨大的推动作用,同时它还将面临来自象IrDA、802.11、HomeRF等无线通信技术的挑战。而将OBEX成功引入蓝牙,使得在嵌入式系统下工作的蓝牙通信设备上传输文件、同步、打印等应用成为可能,因此在蓝牙中起着举足轻重的作用。

系统思维训练

系统思维训练 系统思维是在考虑解决某一问题时,不是把它当做一个孤立、分割的问题来处理,而是当做一个有机关联的系统来处理。掌握系统思维方法,是现今最需要的基本功之一。 将所面对的事物或问题作为一个整体,作为一个系统来加以思考分析,从而获得 对事物整体的认识,或找到解决问题恰当办法的思维方法就是系统思维法。现实生活中,不善于进行系统思维就容易遭受挫折或造成损失,而善于着眼于系统就能够获得 巨大成功。 在宋代符详年间,由于皇宫发生了火灾,所以需要重新修建皇宫。当时面临的问 题主要有三个:取土、外地材料的运送和被烧坏皇宫的瓦砾处理。当时宋朝大臣丁渭 负责这项工程。为了解决这个问题,丁渭绞尽脑汁。最后想出了一个好办法:在皇宫 前的大街上挖沟取土,免去到很远的地方取土。很快,路就挖成了大沟,又让汴河决口,将水引进壕沟。于是各地运来的竹木都被编成筏子,连同船运来的各种材料,都 通过这条水路运进来。皇宫修复后,他又让大家将拆下来的碎砖瓦连同火烧过的灰, 都填进沟里。重新修成大路。经过这一处理,不仅节约了大量时间,还节省了大量经费。所以,正是因为在修建皇宫的时候,丁渭比较有智慧,在系统把握的同时,注意 到了各方面的关系,才取得了最终的成功。 系统是由相互作用和相互联系的若干组成部分结合而成的,具有特定功能的有机 整体。它的特征主要表现在: ①系统都是由两个以上的要素按照一定方式组合而成的; ②系统的各个要素之间都是相互联系、相互制约的; ③系统具有一定的特征和功能行为; ④系统总是存在于一定的环境之中,并与外界环境进行物质、能量、信息的交换等。

我国充分利用系统的思维方法设计和构建了古代都江堰水利工程。都江堰水利工 程的构造主要包括鱼嘴、飞沙堰、宝瓶口三项主体工程和120多个附属渠堰工程。如 利剑般的鱼嘴把岷江一分为二,这样就可以让靠近内江的水直泻宝瓶口,灌溉川西平原;同时宝瓶口又迫使岷江从西向东穿山而过,起到排洪、防旱的作用;而飞沙堰使 内江之水平时逼进宝瓶口,洪水时溢过堰顶回流入外口,避免内江灌溉受灾。而这三 大主体工程又与120多个附属渠堰工程在充分发挥自身作用的情况下又相互合作,使 得整个工程有着多种功能,如调节水势、灌溉良田、飞水防洪、飞沙防涝水水这样为 周边人民带来了福利,不仅促进了经济的发展,而且还保护了环境生态系统。系统思 维法也可以通过训练来提高,作提高练习时,可以从以下方面着手: 训练1:从整体出发 把思考对象看做由若干部分构成的有机整体,从整体与部分、部分与部分、整体 与环境的相互联系和作用中认识事物或找到解决问题的恰当办法。 想要看到事情的整体面貌,做到“俯瞰全局”,那么就需要系统思考。只有多思考,我们才能看到事情的整体情况,找到相互联系和相互排斥的很多方面,只有这样才能 找到更切合实际的正确方法。 麻省理工学院系统动力学教授约翰史德门在美国航空公司,营运状况良好的情况 下就预言其必然倒闭,当时很多人都认为这位教授真是信口雌黄,都怀疑这位教授与 这家公司是不是有仇,这些不着边际的想法都是无稽之谈。但令人万万没有想到的是,这位教授的预言成真了。两年后这家公司倒闭了。难道他是“神人”?当然不是。他只 是系统地观察了这家航空公司的“内部结构”,结果发现其内部组织结构在很多方面是 没有搭配好的,只是一味地寻求发展,所以这些问题难以得到解决。但一旦出现问题,必然是无法挽回的。当时,史德门就是看出了这种问题才下此断言的。所以,系统的 思考方式可以让人提前预见很多东西,做出正确的判断。 训练2:从综合的观点出发

Windows驱动程序手册

Windows驱动程序手册ELP-108/168/188ES(Rev.1.4)

目录 1.手册信息 (1) 2.操作系统 (1) 3.程序准备 (1) 4.驱动的安装 (2) 5.驱动的设置 (4) 5.1打印首选项 (4) 5.2其他设置 (9) 6.规格 (10) 6.1分辨率 (10) 6.2纸张规格 (10)

1.手册信息 本手册提供了Windows驱动程序安装说明和主要功能方面的信息。 我们致力于提高和升级产品的功能和质量,规格书的内容可能会更改,恕不另行通知。 2.操作系统 本打印机的Windows驱动适用于以下操作系统: ●Microsoft Windows8(32bit/64bit) ●Microsoft Windows7SPI(32bit/64bit) ●Microsoft Windows7SPI(32bit/64bit) ●Microsoft Windows7SPI(32bit/64bit) ●Microsoft Windows Vista SP2(32bit/64bit) ●Microsoft Windows XP Professional SP3(32bit) ●Microsoft Windows Server2012(64bit) ●Microsoft Windows Server2008R2 ●Microsoft Windows Server2008SP2(32bit/64bit) ●Microsoft Windows Server2003R2SP2(32bit/64bit) 3.程序准备 驱动程序包含在随机所附CD。 驱动文件命名为:Tengen ELP Label Driver-v-X.X.X.X.exe 如:Tengen ELP Label Driver-v-1.2.0.0.exe

WinCE操作系统

WinCE操作系统 WinCE操作系统是通用型的嵌入式操作系统,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,它是精简的Windows 95,Windows CE的图形用户界面相当出色。它1996年开始发布Windows CE 1.0版本,2004年7月发布了Windows CE .NET 5.0版本,目前用得最多的是Windows CE .NET 4.2版本,其发展速度也是很快的,功能上自不必描述,它的主要应用领域有PDA市场、Pcket PC、Smartphone、工业控制、医疗等。 就WinCE来讲,你无法买到WinCE这个操作系统,你买到的是Platform Builder for https://www.sodocs.net/doc/084474656.html, 4.2的集成开发环境,我们也简称为PB,利用它你可以剪裁和定制出一个符合你自己需要的https://www.sodocs.net/doc/084474656.html, 4.2的操作系统,因此,我们说的操作系统实际上完全是由自己定制出来的,这就是嵌入式操作系统最大的特点。 Windows CE具有模块化、结构化和基于Win32应用程序接口和与处理器无关等特点。Windows CE不仅继承了传统的Windows图形界面,并且在Windows CE平台上可以使用Windows 95/98上的编程工具(如Visual Basic、Visual C++等)、使用同样的函数、使用同样的界面风格,使绝大多数的应用软件只需简单的修改和移植就可以在Windows CE平台上继续使用。Windows CE并非是专为单一装置设计的,所以微软为旗下采用Windows CE作业系统的产品大致分为三条产品线,Pocket PC(掌上电脑)、Handheld PC(手持设备)及Auto PC。 WindowsCE版本主要有1.0、2.0、3.0、4.0、4.2、5.0 和6.0 WINCE1.0是一种基于Windows95的操作系统,其实就是单色的Windows95简化版本。技术支持、直接资助等手段聚集了大量合作厂商,使WinCE类的PDA 阵容越来越强大。 WinCE2.0不仅比CE1.0快的多,而且的彩色显示,又众多新型PDA采用新的WinCE2.0系统,大有取代Pilot的趋势,成为PDA操作系统新的标准。尽管CE2.0仍然要比Pilot的操作系统需要的空间要大的多,但它具有Windows的界面,会用PC的人小编估计没有多少人不会使用微软的操作系统。 WinCE3.0是微软的Windows Compact Edition,是一个通用版本,并不针对掌上产品,标准PC、家电和工控设备上也可以安装运行,但要做许多客户化工作,当然也可以做掌上电脑。WinCE3.0把Pocket Word和Pocket Excel等一些日常所需的办公软件的袖珍版装了进去Pocket PC,同时在娱乐方面的性能做很大的加强。 https://www.sodocs.net/doc/084474656.html,(即WinCE 4.0)是微软于2002年1月份推出的首个以.Net为名的操作系统,从名字上我们就可以知道它是微软的.net的一部分。https://www.sodocs.net/doc/084474656.html,是WinCE3.0的升级,同时还加入.Net Framework精简版,支持蓝牙和.Net应用程序开发。 https://www.sodocs.net/doc/084474656.html, 4.2是https://www.sodocs.net/doc/084474656.html, 4.0/4.1的升级版,对Windows CE先前版本的强大功能进行了进一步的扩充和丰富,基于其开发的设备将从这些微小但重要的变化中获得更好的性能和更强的Windows集成功能。微软在WinCE4.2版时曾提供开放源代码,不过只针对研究单位,而程序代码较少,为200万行。WinCE5.0在2004年5月份推出,微软宣布WinCE5.0扩大开放程序源代码。在这个开放源代码计划授权下,微软开放250万行源代码程序作为评估套件(evaluationkit)。凡是个人、厂商都可以下载这些源代码加以修改使用,未来厂商OEM时,则再依执行时期(Run-time)授权,支付Win CE5.0核心每台机器3美元的授权费用,这也是微软第一个提供商业用途衍生授权的操作系统。

如何配置VC编译Windows驱动程序

用VC IDE环境编译驱动程序目前Windows驱动程序分为两类,一类是不支持即插即用功能的NT式驱动程序,另一类是支持即插即用功能的WDM驱动程序。它们在用VC IDE编译驱动程序时有些不一样,下面分开说明: 一、NT驱动( 红色字体标注的地方是容易忽略的): (1)用VC建立一个新工程。在VC IDE环境下选择“File”“New”,弹出“New”对话框。在该对话框中,选择“Project”选项卡。在“Project”选项卡中,选择Win32 Application,在这个基础上进行修改。工程名为“XXXXXX”,。单击“OK”,进入下一个对框框,在该对话框中,选择一个空的工程。 (2)将驱动程序的两个源文件XXX.h和XXX.cpp拷贝到工程目录中,并添加到工程中(Project->Add To Project->File)。 (3)增加新的编译版本,去掉Debug和Release版本(Build->Configuration中添加一个Check)。 (4)修改工程属性。选择“Project”|“Setting”,在对话框中,选择“General”选项卡。 将Intermediate files和Output files改为XXX_Check。 (5)选择C/C++选项卡,将原有的Project Options内容中全部删除,替换成如下内容,/nologo /Gz /MLd /W3 /WX /Z7 /Od /D WIN32=100 /D _X86_=1 /D WINVER=0x500 /D DBG=1 /Fo”MyDriver_Check/” /Fd”MyDriver_Check/” /FD /c (6)选择Link选项卡,将原有的Project Options内容全部删除,替换成如下内容,ntoskrnl.lib /nologo /base:”0x10000”/stack:0x400000,0x1000 /entry:”DriverEntry” /subsystem:console /incremental:no /pdb:”MyDriver_Check/XXX.pdb”/debug /machine:I386 /nodefaultlib /out:”MyDriver_Check/XXX.sys”/pdbtype:sept /subsystem:native /driver /SECTION:INIT,D /RELEASE /IGNORE:4078 (7)修改VC的lib目录和include目录。在VC中选择“Tools”|“Options”,在弹出的对话框中选择“Directories”选项卡。在“Show directories for”下拉菜单选择“Include files”菜单。添加“D:\WINDDK\2600\INC\W2K”和“D:\WINDDK\2600\INC\DDK\W2K”,并将这两个目录置于最上。大家可以将这个目录“D:\WINDDK\2600”改成你们自己安装的目录。这里应该选择W2K子目录,DDK中还会有相应的XP子目录。但因为XP驱动编译时候需要高版本的VC编译

windowsce操作系统简述

Windows CE 百科名片 WindowsCE是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,它是精简的Windows 95,Windows CE的图形用户界面相当出色。 简介 Windows CE操作系统是Windows家族中的成员,为专门设计给掌上电脑(HPCs)以及嵌入式设备所使用的系统环境。这样的操作系统可使完整的可移动技术与现有的Windows桌面技术整合工作。Windows CE被设计成针对小型设备(它是典型的拥有有限内存的无磁盘系统)的通用操作系统, Windows CE可以通过设计一层位于内核和硬件之间代码来用设定硬件平台,这即是众所周知的硬件抽象层(HAL)(在以前解释时,这被称为OEMC(原始设备制造)适应层,即OAL;内核压缩层,即KAL。以免与微软的Windows NT操作系统的HAL混淆)。 与其它的微软Windows操作系统不同,Windows CE并不是代表一个采用相同标准的对所有平台都适用的软件。为了足够灵活以达到适应广泛产品需求,Windows CE可采用不同的标准模式,这就意味着,它能够从一系列软件模式中做出选择,从而使产品得到定制。另外,一些可利用模式也可作为其组成部分,这意味着这些模式能够通过从一套可利用的组份做出选择,从而成为标准模式。通过选择,Windows CE能够达到系统要求的最小模式,从而减少存储脚本和操作系统的运行,也为企业创造更大效益[1]。 Windows CE中的C代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivity)和伴侣(Companion);E代表电子产品(Electronics)。与Windows 95/98、Windows NT不同的是,Windows CE是所有源代码全部由微软自行开发的嵌入式新型操作系统,其操作界面虽来源于Windows 95/98,但Windows CE是基于WIN32 API重新开发、新型的信息设备的平台。Windows CE具有模块化、结构化和基于Win32应用程序接口和与处理器无关等特点。Windows CE不仅继承了传统的Windows图形界面,并且在Windows CE平台上可以使用Windows 95/98上的编程工具(如Visual Basic、Visual C++等)、使用同样的函数、使用同样的界面风格,使绝大多数的应用软件只需简单的修改和移植就可以在

(完整版)逻辑思维方法训练及技法训练大全,推荐文档

怎样提高逻辑思维能力 一、逻辑思维的概念 “逻辑”,或称为“理则”。源自古典希腊语λ?γο?(logos),最初的意思有词语、思想、概念、论点、推理之意。1902年严复译《穆勒名学》,将其 意译为“名学”,音译为“逻辑”;日语则译为“论理学”。在现代汉语词典里, 逻辑的涵义是思维的规律或客观的规律性,逻辑学被定义为研究思维形式和规 律的科学。 逻辑思维(Logical thinking),人们在认识过程中借助于概念、判断、推理等思维形式能动地反映客观现实的理性认识过程,又称理论思维。它是作为 对认识着的思维及其结构以及起作用的规律的分析而产生和发展起来的。只有 经过逻辑思维,人们才能达到对具体对象本质规定的把握,进而认识客观世界。 它是人的认识的高级阶段,即理性认识阶段。 二、逻辑思维的方法分类 (一)、系统思维法: 1.系统结构: 系统的上下级是归属关系,同级之间是并列关系。 例如:某所高中系统,分为高一、高二、高三这三个子系统,其中高一这个子系统又分为一班、二班。可见,系统的上下级之间(年级和班级)是归属 关系,同级之间(年级之间或班级之间)是并列关系。 例如:人体由八大系统组成,既运动系统、神经系统、内分泌系统、循环系统、呼吸系统、消化系统、泌尿系统、生殖系统。 其中的消化系统又由消化管和消化腺这两个子系统组成。 其中的消化管又由口腔、咽、食管、胃、小肠、大肠这些更小的系统组成。 其中的小肠又由十二指肠、空肠、回肠这些更更小的系统组成。 2.系统中,同级的事物之间的关系: 系统中同级的事物之间,如果存在相互的关系,通常按组织结构分为合作和对立两种,按变化过程,分为因果和阶段两种。 (1)合作关系。 例如:餐馆是一个系统,里面的厨师、服务员、老板他们相互合作。 例如:消化系统中的胃和小肠是合作关系,都是在消化食物。 (2)对立关系。 例如:全国足球联赛是一个系统,里面两只比赛的足球队是对立关系。 例如:激素系统中的胰岛素和胰高血糖素是对立关系,胰岛素降低血糖,胰高血糖素升高血糖。 合作关系与对立关系的事例:在一个群落系统中,羚羊之间是合作关系,一批羚羊休息时,另一批羚羊要放哨,而羚羊和狮子是对立关系。 (3)因果关系。 我去人也就有人!为UR扼腕入站内信不存在向你偶同意调剖沙

在 Windows XP 下无法安装驱动程序,怎么办

故障现象 ?安装驱动程序时连接、识别打印机出现问题,提示连接、识别失败。 ?安装驱动程序时搜索不到 USB 设备,安装失败。 注意事项 在安装驱动程序过程中建议您关闭防火墙软件和杀毒软件,这些软件会限制打印机程序调用系统文件,导致打印机在安装/使用过程中出现问题。 必须确认已经删除了原先安装的驱动程序,电脑上曾经安装过 HP LaserJet 激光打印机的驱动程序,重新安装驱动程序之前,需要先删除以前安装的驱动程序,否则可能会出现无法找到设备或者安装不上驱动程序的现象。 解决方法 1.依次点击“开始”→“打印机和传真”。 2.在“打印机和传真”窗口中,依次点击“文件”→“添加打印机”,进 入“添加打印机向导”窗口。如图 1 打印机和传真所示: 图 1: 打印机和传真 3.在“欢迎使用添加打印机向导”窗口中,点击“下一步”按钮。

4.在“本地或网络打印机”窗口中,选择“连接到此计算机的本地打印 机”选项,勾除“自动检测并安装即插即用打印机”选项,然后点击“下一步”按钮。如图 2 本地或网络打印机所示: 图 2: 本地或网络打印机 5.在“选择打印机端口”窗口中,从“使用以下端口”下拉列表中选择 USB 端口,然后点击“下一步”按钮。 o下拉列表中有多个 USB 端口时,选择数字最大的 USB 端口。例如:有“USB001”、“USB002”两个端口,应该选择“USB002”端口。 o下拉列表中没有 USB 端口时,需要先开启打印机电源,然后将打印机 USB 连接线连接到电脑,操作系统会自动创建 USB 端口。 关闭“添加打印机向导”窗口,重新开始添加打印机即可。 如图 3 选择打印机端口所示: 图 3: 选择打印机端口

WindowsCE编程的十点忠告

Windows CE 编程的十点忠告 最近两周我们花了大部分时间将已有的应用程序移植到Microsoft Windows CE中。一般说来,这个计划不是太难。我们起步于Microsoft Win32代码,当然Windows CE是基于Win32应用程序接口(API)的。有利的是,我们的应用程序(即Raima 数据管理器)有方便的使用接口,并包含一个大约由150个子函数组成的库,这些函数都是由C语言写成,可以用来创建、管理和访问数据库。 按建立应用程序的方式来说,我们原以为将它移植到Windows CE中是一项相对简单的C语言编程练习。然而,我们不久便遇到好些困难。从粗心大意的错误开始,比如在基于Windows NT 的Windows CE仿真器上使用Microsoft Windows NT库,接着又违背Windows CE的编程戒律,如"千万不要给Unicode(国际标准组织10646标准)字符分配奇数内存地址"。 大约有百分之九十的问题或多或少地与Unicode有关。尽管Unicode编程不难,但是,当给单字节字符编写代码时,很容易出错(我有过许多次错误)。 下面这些忠告是根据我们在Windows CE上编写Raima 数据管理器的经验总结出来的,但我相信,在做任何其它Windows CE程序之前,它们都值得借鉴。毕竟大多数Windows开发者,当他们创建第一个Windows CE应用程序时,真正运用的是已掌握的Win32知识。 1. 不要在仿真器上使用Windows NT库 这里所讨论的第一个错误实在太愚蠢了,但我还是陷了进去,也许你也会。当用Microsoft VC++(5.0版)创建一个Windows CE程序时,你会发现,包含路径(include)、库路径(library)、及可执行程序路径被自动调整以匹配反应目标环境的选择。因此,比如说为Windows CE模拟器建立应用程序时,你会发现,include路径没有指向Win32的包含文件(在VC目录下),而是指向Windows CE包含文件(在WCE目录下)。千万别去修改。 由于Windows CE在Windows NT下运行,所以仿真器上运行的程序能够调用任一Windows NT动态链接库(DLL)中的函数,即使这个DLL不是模拟器的成员也一样。显然,这不是很好的事,因为相同的函数也许在手持PC(H/PC)或Windows CE 设备上不可用,而你的软件最终要能在这些设备上运行。 第一次将非Unicode应用程序装入Windows CE仿真器时,你会发现,许多正在使用的函数它都不支持,例如美国国家标准协会(ANSI)定义的字符函数strcpy()。这也许引诱你去链接Windows NT 运行时间库,以便能解决所有问题。 如果你是刚开始用Windows CE编程,可能你能用的包含文件和库文件是明显的。答案就是,你不要采用那些在写普通Win32或非Windows CE程序时使用的包含文件和库文件。 2. 不要混淆TCHARs和bytes 如果你正在Windows CE上写非Unicode应用程序,你或许要将所有的字符串从单个字符(chars)转换为宽字符(widechars)(例如,C变量类型whcar_t)。几乎所有Windows CE支持的Win32和运行时间库函数都要求宽字符变量。Windows 95不支持Unicode,然而,为了使程序代码具有可移植性,你要尽可能采用tchar.h中定义的TCHAR类型,不要直接使用wchar_t。 TCHAR是定义为wchar_t还是char,取决于预处理器的符号UNICODE是否定义。同样,所有有关字符串处理函数的宏,如_tcsncpy宏,它是定义为Unicode函数wcsncpy还是定义为ANSI函数strncpy,取决于UNICODE是否定义。 在现存的Windows应用程序中,有些代码也许暗示字符长为单字节。这在给字符串分配内存时经常用到,例如:

基于WindowsCE系统的模拟时钟设计

基于WindowsCE系统的模拟时钟设计 【摘要】本文介绍了一种基于Windows CE 6.0操作系统的模拟时钟的设计方法,该设计以三星公司的S3C2440为核心,基于MFC编程,实现了钟面上时分秒针的实时显示。本设计编译生成的.exe文件可做为Windows CE系统的一个应用程序使用。 【关键词】ARM;S3C2440;Windows CE;模拟时钟 1.引言 随着科学技术的发展,嵌入式设备广泛应用于商业管理和工业控制等领域。本设计以ARM9嵌入式微处理器S3C2440为核心,基于MFC编程,在开发板的液晶显示屏上显示模拟时钟,实现了时分秒针的实时显示。 2.硬件平台 本设计以ARM9嵌入式微处理器S3C2440开发板为核心,主要利用S3C2440内置的RTC模块,通过读取系统时间来实时绘制时针,实现模拟时钟的实时走动。 3.软件设计 3.1 对话框设计 建立工程之后,在Resource View中设计模拟时钟的界面,选定一个与S3C2440触摸屏相符的对话框界面。模拟时钟的显示用程序实现,在对话框下方放置从Toolbox中选择的控件。本设计总共用到九个控件:对话框控件,显示时分秒的静态文本控件,用于显示数字的动态控件,更改时间的控件和确定控件等。 3.2 程序设计 首先添加一个OnTimer()函数读取系统时间并用作计时器的消息处理函数,用于通知moniDlg类中的画表盘刻度和指针的函数重新绘图。添加设置时间按钮函数,用于导出软键盘,设置时间;确认按钮函数用于关闭软键盘,此时屏幕刷新。 3.2.1 表盘刻度画法 在moniDlg类中添加画表盘刻度的函数。程序创建两种画笔,设置不同的颜色和粗细,来区分整点时刻和分点时刻。 由于S3C2440开发板显示屏默认的原点在左上角,根据S3C2440触摸屏的大小确定圆心位置,这样就确定了表盘的位置,表盘上的刻度都在以圆心为中心的圆环上。其坐标可以通过三角函数推导出来。设圆心坐标为(X,Y),半径为R,表盘上其他点的坐标为(X1,Y1),该点与圆心X轴夹角为A(0~360度),该点坐标为(X1=X+RcosA,Y1=Y+RsinA)。 由于我们习惯上使用逆时针的角度,而表针是顺时针转动,即在S3C2440上,坐标跟我们实际用到的坐标方向不同,所以我们应先算出从12点开始的每个刻度的正余弦值,即有60个数组元素的正余弦数组,为计算每个刻度跟时分秒针在表盘中的位置做准备。校正后的角度值,按顺时针重新排列三角函数值,得到如下正余弦数组: 时钟表盘画法流程图:见图1。 画表盘核心代码: 3.2.2 指针画法 在moniDlg类中添加刻画指针的函数。时分秒针主要用长短和粗细区分,亦

2019年内分泌系统习题班章节练习

---------------------------------------------------------------最新资料推荐------------------------------------------------------ 2019年内分泌系统习题班章节练习 2019 年内分泌系统习题班章节练习一、A1 1、正常人血中HC0 3 - ,与 H 2 C0 3 之比为 A、10: 1 B、15: 1 C、20: 1 D、25: 1 E、30: 1 2、高渗性缺水时,血清 NA + 至少高于 A、150mmol/L B、155mmol/L C、160mmol/L D、165mmol/L E、170mmol/L 3、代谢性碱中毒常伴发 A、低钾血症 B、低钙血症 C、低钠血症 D、低磷血症 E、低镁血症 4、低渗性缺水引起体液容量的变化为 A、血浆、组织间液都减少,以血浆减少为主 B、只有血浆减少 C、血浆、组织间液都减少,以组织间液减少为主 D、只有组织间液减少 E、以血液浓缩为主 5、痛风是哪种物质代谢障碍所引起的疾病 A、蛋白质 B、嘧啶 C、嘌呤 D、纤维素 E、糖 6、痛风者急性关节炎期常见单个关节出现红肿、热痛,最常见的部位是 A、趾关节 B、颈椎关节 C、胸椎关节 D、腰椎关节 E、膝关节 7、痛风时尿沉渣结晶为 A、草酸盐结晶 B、尿酸盐结晶 C、磷酸盐结晶 D、络氨酸 E、胆红素结晶 8、女,39 岁。 肥胖、高血压、闭经 2 年。 查体: 1 / 10

BP: 160/90 mmHg,向心性肥胖、脸圆、多血质外貌,腹部可见宽大紫纹。 血糖: 11.8 mmol/该患者最可能的诊断是 A、库欣综合征 B、糖尿病 C、代谢综合征 D、肥胖症 E、高血压 9、男,39 岁。 发作性心悸、头痛、大汗,发作时血压 230/130 mmHg,平素血压不高。 对诊断最有帮助的是发作时测定尿 A、儿茶酚胺 B、蛋白 C、钾、钠、氯 D、钙、磷 E、游离皮质醇 10、女,45 岁。 乏力、厌食、嗜睡 5 年。 逐渐加重 2 年。 20 年前产后大出血休克、昏迷 7 小时,产后闭经至今。 具体治疗不详,近 3 年多中断治疗。 首选的治疗药物是 A、雌激素 B、血管加压素 C、左旋甲状腺素钠 D、肾上腺皮质激素 E、孕激素 11、男,43 岁,肢体软弱无力、夜尿多 2 年余,今晨起双下肢不能活动。 查体: 血压 170/100 mmHg,均匀性轻度肥胖,双下肢松弛性瘫痪,血钾 2.4 mmol/应考虑的诊断是 A、库欣病 B、嗜铬细胞瘤 C、肾性高血压 D、原发性醛固酮增多症 E、原发性高血压 12、继发性甲状旁腺功能亢进症最佳治疗方法是 A、西咪替丁口服 B、透析 C、

Windows CE系统软件移植流程

Windows CE系统软件移植流程 Windows CE(以下简称CE)是一个可定制的嵌入式操作系统,为了适应不同的硬件平台,需要对BSP、Device Driver、bootloader等进行修改、定制。本文主要讨论在BSP、driver 等已完成的基础上如何移植,关于BSP、driver等的定制在其他文档中详细描述。 Microsoft为定制CE平台提供了一个集成开发工具——Platform Builder(以下简称PB),我们的工作都是利用这个工具完成的。另需注意,本文是以X-Hyper255B开发板为例进行说明的。 1.安装BSP(Board Support Packet) 为了定制CE,BSP是必需的。BSP包括bootloader、kernel、Device driver和configuration。在利用PB生成特定平台的CE之前,必须先安装针对该平台的BSP。例如,在安装完X-Hyper255B开发板的BSP后,在PB的Third Party中会出现它的BSP。 2.为X-Hyper255B定制CE平台 2.1. 创建一个新平台 1.在PB中选择File->New Platform开始“New Platform Wizard”。

2.在BSP列表中选择“X-HYPER255B:ARMV4”。 3.后续步骤按向导的提示进行,比较简单,这里不再赘述。 2.2. 设置平台参数 在生成kernel image之前应该对平台进行一些设置。 1.如下图,右键单击选择“Settings…”(也可选择Platform->Settings)

2.在“Build Options”选择页中选中“Enable Eboot Space in Memory”和“Enable Full Kernel Mode”。 2.3. 生成Kernel Image 1.选择Build->Generate Platform Headers。 2.选择Build->Build Platform。

11年管理系统中计算机应用综合练习

---------------------考试---------------------------学资学习网---------------------押题------------------------------ 管理系统中计算机应用第五章系统分析同步综合练习一、单项选择题 1. 系统开发进入实质性阶段是始于() A. 系统规划 B. 可行性分析 C. 可行性分析报告批准后 D. 系统分析报告批准后 答案:C 2. 系统分析的主要目标是分析用户信息需求,并在此基础上提出新系统的() A. 数据模型 B. 物理模型 C. 逻辑模型 D. 概念模型 答案:C 3. 系统分析阶段的主要活动有:现行系统详细调查、用户需求分析和() A. 组织结构调查 B. 信息关联调查 C. 系统信息调查 D. 建立系统逻辑模型 答案:D 4. 现行系统详细调查工作的顺序是() A. 自点到面 B. 由底至上 C. 由具体到抽象 D. 由抽象到具体 答案:D 5. 现行系统详细调查的参加人员有:系统分析组成员和富有经验的() A. 程序设计员 B. 管理人员 C. 硬件人员 D. 软件人员 答案:B 6. 现行系统详细调查的主要内容有:企业组织结构与信息关联状况,系统信息调查以及() A. 系统业务流程 B. 系统数据存储 C. 系统功能调查 D. 系统输入输出 答案:A 7. 组织结构图反映了企业的管理层次,各职能部门组成、隶属关系和() A. 管理功能 B. 管理幅度 C. 信息联系 D. 物流状态

8. 为了准确的表达原系统的业务处理流程,一般采用作为描述原系统业务的工具是() A. 业务流程图 B. 数据流程图 C. 数据功能格栅图 D. 组织结构图 A 答案: 9. 系统业务流程调查的范围是() A. 企业内全部业务流程 B. 拟建信息系统范围内的业务流程 C. 企业主要业务流程 D. 拟建信息系统范围内的关键流程 答案:B 10. 系统业务流程调查时, 除了解流程外,还需了解业务处理的特点,包括:数据采集方式、信息输入与输出的形式、以及() A. 信息存储方法 B. 信息加工过程 C. 信息是批处理还是实时处理 D. 信息传输的形式 答案:C 11. 业务流程图的描述对象是() A. 一项业务 B. 一项业务或一组相互关联的业务 C. 多项业务 D. 一项信息处理过程 答案:B 12. 在业务流程图中, 符号O表示() A. 作业 B. 保存 C. 检查 D. 确认 答案:A A. A B. B C. C D. D 答案:B 14. 现行系统详细调查中,使用的图表工具有:组织结构图,业务流程图和() A. 信息关联图 B. 数据结构图 C. E-R图 D. N-S图

Windows驱动开发入门

接触windows驱动开发有一个月了,感觉Windows驱动编程并不像传说中的那么神秘。为了更好地为以后的学习打下基础,记录下来这些学习心得,也为像跟我一样致力于驱动开发却苦于没有门路的菜鸟朋友们抛个砖,引个玉。 我的开发环境:Windows xp 主机+ VMW ARE虚拟机(windows 2003 server系统)。编译环境:WinDDK6001.18002。代码编辑工具:SourceInsight。IDE:VS2005/VC6.0。调试工具:WinDBG,DbgView.exe, SRVINSTW.EXE 上面所有工具均来自互联网。 对于初学者,DbgView.exe和SRVINSTW.EXE是非常简单有用的两个工具,一定要装上。前者用于查看日志信息,后者用于加载驱动。 下面从最简单的helloworld说起吧。Follow me。 驱动程序的入口函数叫做DriverEntry(PDRIVER_OBJECT pDriverObj,PUNICODE_STRING pRegisgryString)。两个参数,一个是驱动对象,代表该驱动程序;另一个跟注册表相关,是驱动程序在注册表中的服务名,暂时不用管它。DriverEntry 类似于C语言中的main函数。它跟main的差别就是,main完全按照顺序调用的方法执行,所有东西都按照程序员预先设定的顺序依次发生;而DriverEntry则有它自己的规则,程序员只需要填写各个子例程,至于何时调用,谁先调,由操作系统决定。我想这主要是因为驱动偏底层,而底层与硬件打交道,硬件很多都是通过中断来与操作系统通信,中断的话就比较随机了。但到了上层应用程序,我们是看不到中断的影子的。说到中断,驱动程序中可以人为添加软中断,__asm int 3或者Int_3();前者是32位操作系统用的,后者是64位用的。64位驱动不允许内嵌汇编。下面是我的一个helloworld的源码:

2012-2013学年操作系统综合训练题

A. B. A. B. A. B. A. B.

正确答案:B 试题5 正在进行中 常用的缓冲技术是解决慢速设备与快速CPU处理之间协调工作。( A ) A.正确 B.错误 正确答案:A 试题6 正在进行中 虚地址就是程序执行时所要访问的内存地址。( B ) A.正确 B.错误 正确答案:B 试题7 正在进行中 临界区是指进程中用于访问临界资源的那段代码。( A ) A.正确 B.错误 正确答案:A 试题8 正在进行中 一个作业或任务在运行,可以对应多个进程执行。( A ) A.正确 B.错误 正确答案:A 试题9 正在进行中 利用置换技术扩充内存时,设计时必须考虑的问题是:如何减少信息交换量、降低交换所用的时间。( A ) A.正确 B.错误 正确答案:A

试题10 正在进行中 在分段存储管理中,分配给用户的地址空间大小由系统(或硬件)决定。( B ) A.正确 B.错误 正确答案:B 试题11 正在进行中 下述哪一个不属于多道程序运行的特征。( B ) A.多道 B.运行速度快 C.宏观上并行 D.实际上多道程序是串插运行的 正确答案:B 试题12 正在进行中 使用SPOOLing系统的目的是为了提高()的使用效率。( B ) A.独占设备 B.共享设备 C.文件 D.主存储器 正确答案:B 试题13 正在进行中 某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态将()( D ) A.从就绪变为运行 B.从运行变为就绪 C.从等待变为就绪 D.从运行变为等待

正确答案:D 试题14 正在进行中 下列进程状态变化中,()变化一般是不会发生的。( C ) A.运行->就绪 B.运行->阻塞 C.阻塞->运行 D.阻塞->就绪 正确答案:C 试题15 正在进行中 分页式存储管理中,地址转换工作是由()完成的( B ) A.硬件 B.地址转换程序 C.用户程序 D.装入程序 正确答案:B 试题16 正在进行中 若信号量S的初值为3,当前值为-1,则表示有______等待进程。( B ) A.0个 B.1个 C.3个 D.4个 正确答案:B 试题17 正在进行中 若系统中有五台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许_____个进程参于竞争,而不会发生死锁。( C ) A.5

Windows驱动程序开发环境配置

Windows驱动程序开发笔记 一、WDK与DDK环境 最新版的WDK 微软已经不提供下载了这里:https://https://www.sodocs.net/doc/084474656.html,/ 可以下并且这里有好多好东东! 不要走进一个误区:下最新版的就好,虽然最新版是Windows Driver Kit (WDK) 7_0_0,支持windows7,vista 2003 xp等但是它的意思是指在windows7操作系统下安装能编写针对windows xp vista的驱动程序, 但是不能在xp 2003环境下安装Windows Driver Kit (WDK) 7_0_0这个高版本,否则你在build的时候会有好多好多的问题. 上文build指:首先安装好WDK/DDK,然后进入"开始"->"所有程序"->"Windows Driver Kits"->"WDK XXXX.XXXX.X" ->"Windows XP"->"x86 Checked Build Environment"在弹出来的命令行窗口中输入"Build",让它自动生成所需要的库 如果你是要给xp下的开发环境还是老老实实的找针对xp的老版DDK吧,并且xp无WDK 版只有DDK版build自己的demo 有个常见问题: 'jvc' 不是内部或外部命令,也不是可运行的程序。 解决办法:去掉build路径中的空格。 二、下载 WDK 开发包的步骤 1、访问Microsoft Connect Web site站点 2、使用微软 Passport 账户登录站点 3、登录进入之后,点击站点目录链接 4、在左侧的类别列表中选择开发人员工具,在右侧打开的类别:开发人员工具目录中找到Windows Driver Kit (WDK) and Windows Driver Framework (WDF)并添加到您的控制面板中 5、添加该项完毕后,选择您的控制面板,就可以看到新添加进来的项了。 6、点击Windows Driver Kit (WDK) and Windows Driver Framework (WDF),看到下面有下载链接,OK,下载开始。下载后的文件名为: 6.1.6001.18002.081017-1400_wdksp-WDK18002SP_EN_DVD.iso将近600M大小。

Windows CE

Windows https://www.sodocs.net/doc/084474656.html,应用程序开发 作者: Paul Yao, Windows Embedded MVP Paul Yao的公司 20028月 使用于 Microsoft? Windows? https://www.sodocs.net/doc/084474656.html, application development Microsoft .NET Compact Framework 内容 简介 Win32 API Microsoft Foundation Class Library .NET Compact Framework 结语 简介 面对开发微软? Windows? CE .NET应用程序的众多选择可能会让你望之却步。想要建立传统图形使用者接口(GUI)的开发者可以选择微软Win32?应用程序接口(API)、对象导向式的微软基础类别库(Microsoft Foundation Class (MFC) library)或是.NET Compact Framework(有大量的程序模型及工具支持)。本份文件将会概述这些接口(API)的基本特征并使读者在选择时具有基本的知识背景。 本篇文件的主要目的是对比出在微软Windows CE(包括Pocket PC以及Windows CE .NET)上三种程序设计界面(API)的技术优点。通常,能拥有许多选择是件好事,但这也有可能导致我们要花更多时间在分析上。在选择应用程序接口的时候必须要深思熟虑,因为你所写下的程序代码不仅仅只是开发的时候要使用,也要考虑未来维护的便利性。 每个在本份文件中讨论到的应用程序接口(API)最初都是实作在微软桌上型(desktop)窗口上。实作在Windows CE .NET上的只是其子集合而已。如果你曾经在桌上型窗口下使用过其中任何一种接口,那么你将会发现其最核心的功能在掌上型窗口下一样支持。因此,你对前者具有的认知可能已足够你在后者作一个良

训练系统试题doc

训练系统整体测试 试卷信息 卷面总分:126分合格分数线:101分答题时间:60分钟 出卷人:袁志鹏出卷时间:2015-02-10 15:33 一、判断题 1. 《月训练计划与落实表》中的A、B、C字母代表早、中、晚班次。[2分] 我的答案:对错 2. 若新员工一天内要学很多个流程,在《月训练计划与落实表》当天排入1个重点要学习 的流程即可。[2分] 我的答案:对错 3. 因为某种原因,主管没时间训练员工《月训练计划与落实表》上当天要学习的流程,主 管应标记该流程,并将其安排到当月《月训练计划与落实表》中空闲时间段或下月的《月训练计划与落实表》中继续训练。[2分] 我的答案:对错 4. 已掌握流程的老员工不需要排入《月训练计划与落实表》中。[2分] 我的答案:对错 5. 主管对员工的训练分为一对一训练和一对多训练[2分] 我的答案:对错 6. 主管对员工的一对一训练是主管利用15分钟工作坊对员工进行训练[2分] 我的答案:对错 7. 召开班前会的”喊口号“环节可以忽略,可以不喊部门口号[2分]

8. “总结”环节,可有可无,不需要每天进行[2分] 我的答案:对错 9. 15分钟工作坊操作流程:口号——企业文化——班前会——学习一个流程——提问——赞 美/鼓励——总结——每日一笑——重点跟进当日。[2分] 我的答案:对错 10. 经理鉴定完后,主管再鉴定。[2分] 我的答案:对错 11. 主管未鉴定完3张表格,经理可以开始鉴定。[2分] 我的答案:对错 12. 主管3月1日上午完成鉴定,经理可以3月1日下午开始鉴定。[2分] 我的答案:对错 13. 主管、经理每鉴定完一张岗位观察鉴定表,只需签名,不需要签通过日期。[2分] 我的答案:对错 14. 经理将3张岗位观察鉴定表全部鉴定完后,要将其存档。[2分] 我的答案:对错 15. “计划-训练-鉴定-追踪”的追踪是由经理来做的,若经理没有时间追踪,可以授权主管进 行追踪。[2分] 我的答案:对错 16. 主管或经理进行追踪时,每月至少追踪1张岗位观察鉴定表的内容,岗位观察鉴定表 分为3张,每季度必须将所有流程全部追踪完。[2分]

相关主题