2729
- 收藏
- 点赞
- 分享
- 举报
wince设备处理
有无数硬件设备(外围设备)与应用Windows的平台(Windows NT以及 Windows 95)台式机是兼容的,并且每一年都有更多的东西在市场上涌现。而Windows CE的平台,通常不支持台式计算机支持的设备的很多品种的外围硬件。 然而,为一嵌入式的的系统创造可靠的设备接口在嵌入式的程序设计的过程中,是比较富有挑战性的部分。这部分地因为典型的嵌入式的系统接口的时序与其它可操作性的需要远比台式电脑计算系统和应用程序的更难。
WIN32 API是如何帮助的 WIN32 API在你的硬件平台为你提供一套一致的基于流的接口。为了使用设备,你首先利用适合于设备类型的函数打开它。对于大多数设备,你利用的函数是在下列例子中的CreateFile 函数:HANDLE hPort = CreateFile("COM1"); // Open the serial port CreateFile函数打开规定的设备(串口)并且返回用于以后在该种设备上的操作(例如读和写)的句柄。 各种各样函数的(包括ReadFile ,WriteFile ,LockFile 和其他)接受这个句柄为参数,并且允许你(例如)读写数据,检查设备状态,并且将从其它程序的存取被锁住的设备或者文件列入清单。文件输入输出操作被处理成与其它设备类型利用同样的API 函数,并且在文件之内包括随机的访问的函数。 被若干程序或线索同时访问的设备和文件可以分区域地利用LockFile 函数锁定。在你的应用程序已完成设备或者文件之后,它将调用CloseFile 函数关闭设备,并且进行必要的清除设备的工作。
同步和异步的设备的处理嵌入式系统的经常有关键的设备有时序需要。 对于这个理由,对底层的操作系统的软件接口必须能够在软件层次上管理同时(或者几乎同时)的系统中不同类型的设备的事件。WIN32 API 支持对设备的同步和异步的访问,并且用复杂的设备接口设计。同步的接口是那些在软件需要从设备得到动作的要求,然后等候结果。在同步的设备接口中,最常用的是前面已经提到的ReadFile 以及WriteFile函数。当在同步I/O中使用的时候,不论你与磁盘上的文件、并口或是串口、一个通道或其它类型的设备接口时,都是公用的并且是兼容的。
异步的接口是那些设备要求应用程序为之服务的接口。一个异步的设备的好的例子是键盘。适当和适时的处理异步事件,对于许多嵌入式应用程序是至关紧要的。你所访问的给定的设备的方法,取决于那个设备的特性和你开发的特定的应用程序的要求。如果你在基于你的Windows CE的硬件平台上创建一个全新的设备(和设备驱动程序),你可以既从你的硬件设备和驱动器的层次,又可以从应用程序的层次有许多选择。
定制设备和WIN32
尽管嵌入式系统可以支持较小数量的设备,嵌入式系统能形成唯一的和挑战型的设备接口问题。当你开发一个新的硬件平台并且它支持输入输出设备,在模你设计的不同层次上,你将不得不作出决策和折衷方案。例如,除非你只使用通常的off-the-shelf硬件,你必然套写用户设备驱动程序支持你的新外围设备。 你也能需要配置你的Windows CE来包含一些设备处理必要的组件。同时从应用程序的层次,为满足新的设备的需要,你将需要写接口代码。在有如此多变量的情况下,你如何保持你的设备的一定程度的一致行呢?答案就在WIN32 API 中。在WIN32 API环境下,写你的目标驱动程序,你有理由自信的认为那些新设备的接口的应用程序开发者能够创造可信的,可检验和可维护的基本代码。Windows CE设备驱动程序开发工具包,或者简称DDK ,提供了如何创造WIN32功能强大的设备驱动程序信息和范例。
设备的类型
Windows CE支持两种基本类型的设备驱动程序,内置固化的驱动程序和可安装的驱动程序。 如同名字所暗示的,内置固化的驱动程序是被指定用于一个给定的Windows CE的硬件平台的设备。Windows CE的嵌入式系统设计者有责任提供一个内置固化的驱动程序来驱动系统所包括的设备。例如,许多Windows CE平台有一个LCD 触摸屏。这些平台的制造厂为他们的设备提供设备驱动程序,使此硬件可以用于Windows CE操作系统。在完备的系统中,这些内置固化的驱动程序位于Windows CE只读内存中内核的周围。
可安装的设备驱动程序是被设定为为了任何与Windows CE 硬件平台临时连接的外围的设备。这个类型的设备包括:调制解调器,打印机,数字的照相机,PC卡,以及任何数量的其它外部的设备。 可安装的设备驱动程序可能位于只读内存中,但是更典型与临时性的设备的接口的应用程序软件一同装载。
总结
本文已为概略地介绍了面向Windows CE的WIN32 API,其目的是为了突出这种被广广泛应用的并且十分重要的API的一般的特点和优点。有许多其它的细节你需要在第一次使用Windows CE嵌入式产品之前来学习掌握。
WIN32 API是如何帮助的 WIN32 API在你的硬件平台为你提供一套一致的基于流的接口。为了使用设备,你首先利用适合于设备类型的函数打开它。对于大多数设备,你利用的函数是在下列例子中的CreateFile 函数:HANDLE hPort = CreateFile("COM1"); // Open the serial port CreateFile函数打开规定的设备(串口)并且返回用于以后在该种设备上的操作(例如读和写)的句柄。 各种各样函数的(包括ReadFile ,WriteFile ,LockFile 和其他)接受这个句柄为参数,并且允许你(例如)读写数据,检查设备状态,并且将从其它程序的存取被锁住的设备或者文件列入清单。文件输入输出操作被处理成与其它设备类型利用同样的API 函数,并且在文件之内包括随机的访问的函数。 被若干程序或线索同时访问的设备和文件可以分区域地利用LockFile 函数锁定。在你的应用程序已完成设备或者文件之后,它将调用CloseFile 函数关闭设备,并且进行必要的清除设备的工作。
同步和异步的设备的处理嵌入式系统的经常有关键的设备有时序需要。 对于这个理由,对底层的操作系统的软件接口必须能够在软件层次上管理同时(或者几乎同时)的系统中不同类型的设备的事件。WIN32 API 支持对设备的同步和异步的访问,并且用复杂的设备接口设计。同步的接口是那些在软件需要从设备得到动作的要求,然后等候结果。在同步的设备接口中,最常用的是前面已经提到的ReadFile 以及WriteFile函数。当在同步I/O中使用的时候,不论你与磁盘上的文件、并口或是串口、一个通道或其它类型的设备接口时,都是公用的并且是兼容的。
异步的接口是那些设备要求应用程序为之服务的接口。一个异步的设备的好的例子是键盘。适当和适时的处理异步事件,对于许多嵌入式应用程序是至关紧要的。你所访问的给定的设备的方法,取决于那个设备的特性和你开发的特定的应用程序的要求。如果你在基于你的Windows CE的硬件平台上创建一个全新的设备(和设备驱动程序),你可以既从你的硬件设备和驱动器的层次,又可以从应用程序的层次有许多选择。
定制设备和WIN32
尽管嵌入式系统可以支持较小数量的设备,嵌入式系统能形成唯一的和挑战型的设备接口问题。当你开发一个新的硬件平台并且它支持输入输出设备,在模你设计的不同层次上,你将不得不作出决策和折衷方案。例如,除非你只使用通常的off-the-shelf硬件,你必然套写用户设备驱动程序支持你的新外围设备。 你也能需要配置你的Windows CE来包含一些设备处理必要的组件。同时从应用程序的层次,为满足新的设备的需要,你将需要写接口代码。在有如此多变量的情况下,你如何保持你的设备的一定程度的一致行呢?答案就在WIN32 API 中。在WIN32 API环境下,写你的目标驱动程序,你有理由自信的认为那些新设备的接口的应用程序开发者能够创造可信的,可检验和可维护的基本代码。Windows CE设备驱动程序开发工具包,或者简称DDK ,提供了如何创造WIN32功能强大的设备驱动程序信息和范例。
设备的类型
Windows CE支持两种基本类型的设备驱动程序,内置固化的驱动程序和可安装的驱动程序。 如同名字所暗示的,内置固化的驱动程序是被指定用于一个给定的Windows CE的硬件平台的设备。Windows CE的嵌入式系统设计者有责任提供一个内置固化的驱动程序来驱动系统所包括的设备。例如,许多Windows CE平台有一个LCD 触摸屏。这些平台的制造厂为他们的设备提供设备驱动程序,使此硬件可以用于Windows CE操作系统。在完备的系统中,这些内置固化的驱动程序位于Windows CE只读内存中内核的周围。
可安装的设备驱动程序是被设定为为了任何与Windows CE 硬件平台临时连接的外围的设备。这个类型的设备包括:调制解调器,打印机,数字的照相机,PC卡,以及任何数量的其它外部的设备。 可安装的设备驱动程序可能位于只读内存中,但是更典型与临时性的设备的接口的应用程序软件一同装载。
总结
本文已为概略地介绍了面向Windows CE的WIN32 API,其目的是为了突出这种被广广泛应用的并且十分重要的API的一般的特点和优点。有许多其它的细节你需要在第一次使用Windows CE嵌入式产品之前来学习掌握。
我来回答
回答0个
时间排序
认可量排序
暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2010-01-25 14:23:57
-
2012-12-04 13:21:01
-
2012-12-04 13:58:18
-
2012-12-05 11:10:23
-
2012-12-05 14:28:56
-
2010-01-28 10:58:40
-
2012-12-04 13:13:47
-
2012-12-05 13:32:58
-
2008-08-24 11:58:57
-
2008-10-09 08:56:15
-
2012-12-04 14:18:16
-
2008-06-04 21:21:27
-
2008-09-12 12:10:03
-
2012-12-24 15:34:59
-
2012-12-05 11:08:30
-
2012-12-04 13:31:30
-
2010-06-01 23:27:59
-
2009-06-25 15:59:35
-
2012-12-04 13:34:40
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
50帮忙解决个交叉编译的问题
-
20帮忙交叉编译个源码
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认