首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于ARM11的电梯综合检测系统的研究(2)

基于ARM11的电梯综合检测系统的研究(2)

3 系统软件设计
3.1 上位机主控系统程序设计
3.1.1 平台构建
    本系统采用的是Windows CE 6.0嵌入式操作系统,使用的开发工具是Embedded Visual C++,基于MFC的开发方式,在S3C6410这一硬件平台上进行开发。
3.1.2 驱动程序设计
   
对于Windows CE系统而言,驱动主要分为两种:本地设备驱动和流接口驱动。这两者之间最大的区别在于流接口驱动只提供一组通用的接口。
    本地设备驱动,主要是常用设备的驱动,例如无线网卡驱动、LCD驱动、触摸屏驱动等,这些都是已经内置好了的,微软提供了专门的定制接口,使用的时候只需要通过这些接口就可以调用驱动程序了。系统启动时由GWES来加载实现启动这些本地设备驱动。
    流接口驱动,它的主要功能是使得Windows CE系统和外围设备能够进行连接和通信。相对于本机驱动程序来说,所有的流驱动程序都使用同一个流接口函数集。本系统中的信号采集板模块的驱动程序就属于流接口的驱动程序。
    下面是信号采集模块的流驱动设计,将信号采集模块命名为SCM(Signal collection module),首先要编写SCMDriver.cpp文件,该文件除了具备上述所需的接口外,还要添加AD转换部分,下面是AD转换的部分代码清单。
   
   
    到此,驱动程序的所有工作都己完成,主控系统可以工作了。
3.2 下位机微控制系统程序设计
   
微控制系统的开发环境是Microchip MPLABIDE V8.0。系统上电进行初始化后,进入主程序中等待串口的中断。上位机发送命令后,串口中断子程序接收命令并存储在command中,主程序判断接收标志receive flag是否置位,然后解析command中的命令类型,进而执行相应的操作。等整个检测完成之后,上位机会发来一个结束命令,此时下位机进入休眠模式。
继承事业,薪火相传
返回列表