- UID
- 1029342
- 性别
- 男
|
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中的命令类型,进而执行相应的操作。等整个检测完成之后,上位机会发来一个结束命令,此时下位机进入休眠模式。 |
|