Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C/C++ > x86 CPU PC/104总线挂载数据采集卡寄存器操作实验
【标  题】:x86 CPU PC/104总线挂载数据采集卡寄存器操作实验
【关键字】:x86,CPU,PC/104
【来  源】:http://www.cppblog.com/milkyway/archive/2007/04/13/21809.html

x86 CPU PC/104总线挂载数据采集卡寄存器操作实验

Your Ad Here x86 CPU PC/104总线挂载数据采集卡寄存器操作实验 - milkyway的窝 - C++博客

milkyway的窝

多看,多想,多实验

 

x86 CPU PC/104总线挂载数据采集卡寄存器操作实验

历时一周,终于完成对外设寄存器的读写试验,对硬件的了解太少所致。
所用操作系统Windows CE5.0,硬件平台x86架构的CPU板卡和挂载在PC/104总线的多功能数据采集卡,软件开发工具EVC4,采用MFC测试。

具体对外设寄存器地址363H进行读写。(363H是数据采集卡的DIO控制寄存器的0通道,8位。)

read按钮为读取DI寄存器值,表示该数字输入位电平的高低,测试中,接1.2V电压/100欧姆电阻时对应位为1。比如接DIO2输入时,显示值为4。
write按钮为写入DO寄存器数值,范围是0-255,用来控制DO通道0的八个位输出,用LED加电阻来点亮显示输出。

试验心得:
(一)如果使用wince自带的端口操作宏:READ_PORT_UCHAR,WRITE_PORT_UCHAR
1.要拷贝在PB中定制的平台对应的ceddk.h,pkfuncs.h,toolhelp.h以及ceddk.dll,链接ceddk.lib.
2.对应的物理端口和值定义最好采用
 #define port 0x363
#define value 1
这样便于修改并且能避免在类型转换时丢失数据。由于宏 READ_PORT_UCHAR((unsigned char*)port),WRITE_PORT_UCHAR((unsigned char *)port,(unsigned char)value) 要求的操作对象为uchar型,范围在0-255之间。

(二)如果采用在evc中嵌入汇编的方式
注意避开系统保留关键字,比如OUT要写成out之类的才能避免编译器报语法错误。

(三)对寄存器的概念加深认识
同一个地址上一个寄存器既可以读又可以写时,不能指望写入的数值能够读回来。
因为在硬件系统中,对一个外设寄存器的读写实际上是总线信号起区分作用。如果读信号为低电平时,就读入对应寄存器的值,与之前在此寄存器写的值无关。简单的说,就是同一个物理地址可能是几个数据寄存器共同使用,用信号来实现复用。

posted on 2007-04-13 16:46 相思酸中有甜 阅读(64) 评论(0)  编辑 收藏 引用 所属分类: Wince学习小结

【相关评论】
没有相关评论
【发表评论】
姓名:
邮件:
随机码*
评论*
      
|  首 页  |  版权声明  |  联系我们   |  网站地图  |
CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.