网站首页  |   业界社区  |  电信社区  |  技术社区   |  极客社区  |  游戏社区  |  生活社区   |   科技博客  |   同事录
TechWeb-技术社区


标题: [讨论] Wince 下访问IO端口
OKBEN
TW金牌会员
Rank: 6Rank: 6



UID 138713
精华 37
积分 1469
帖子 584
阅读权限 70
注册 2008-7-29
状态 离线
发表于 2008-8-20 11:59 资料 短消息 加为好友 添加 OKBEN 为MSN好友 通过MSN和 OKBEN 交谈
Wince 下访问IO端口

项目要通过IO端口通讯数据,本人不会汇编,在网上看到可以嵌入汇编,我的代码如下,每次读上来数据都是0xFF,是哪里有问题吗?第一次用evc通过模拟器显示,也不知如何单步执行,比较痛苦。高手指点。 8S6U2b5F/z*S;S(J*g
unsigned char pio_inbyte( WORD addr )
2^'q'E'w!G0N{
1D,B3L/D:|._$I+s,yunsigned char data_byte; /c4?0|#|'|({7z)L"D6N7f+V"q%x(H
  _asm  {push ax}
%C(i3_ w5@5V"u_asm  {push dx} +g%|.v2Y-}$J6r
_asm  {mov dx,addr}
9Z(n4s#O*A+f0N9JTechWeb-技术社区_asm  {in al,dx} 0a&P0X7N3^2j4A
_asm  {mov data_byte, al} 4d!V9L.s+d
_asm  {pop dx} TechWeb-技术社区4l7r.t;E:v/H1X
_asm  {pop ax} "P+v$|6@:T8X-L+l)U!K
return data_byte;
3S;q$w-K+a1X:Gtech.techweb.com.cn} tech.techweb.com.cn'T4g;O:p7K;]-Z
/*********************************************************/
3U%N)Z2~6Itech.techweb.com.cnvoid pio_outbyte(WORD addr,unsigned char data ) 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛)b)V4f!G#F
{ tech.techweb.com.cn.{9u,t:E7v0p6E7v1s;~8c:q#x
_asm  {push ax} TechWeb-技术社区'J.c0v*N%{5Q
_asm  {push dx}
$i"J+R2b'](k#}_asm  {mov dx,addr}
*@.U9P-O$|-h/c)n-^(K_asm  {mov al,data}
9g4J/X+u!i$I3l-m)K_asm  {out dx,al} TechWeb-技术社区*j H*`)f)`;]9|&N5^%h
_asm  {pop dx}
4n0m)\'[#?3n_asm  {pop ax}
:X-_8~.i'd%?1b g5?/GTechWeb-技术社区}
.^(h8O#D&a)t+TTechWeb-技术社区/*********************************************************/
,K!S3?$Z7N2pTechWeb-技术社区WORD pio_inword( WORD addr )
7V7w&b+t9[ ^:y)[程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛{
.i2v0\0[:P-d%{&I&r,H/d3a&r程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛WORD data_word;
$G&{"\!P1r7R/z
5n2V!q.J+\5Ztech.techweb.com.cn    _asm  {push ax}
0y$E%^%E)W+O&X.r#F    _asm  {push dx} &V#g3p"E"X9z:l+I
    _asm  {mov dx,regAddr}
"|5s/W8C4k0Q,](b-}    _asm  {in ax,dx}
2e-i;R5p2c0\6l+h*z    _asm  {mov data_word, ax}
;M!y"_2`,Y#E-m7L0X6n#G    _asm  {pop dx}
*L$y,`/s*^7_#Q ^7y%J    _asm  {pop ax} 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛,[1h/c4T&G/h+L

:T!V2^#?'y程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛    return data_word; 9{5O(y,u1s-y*\
} tech.techweb.com.cn&n&u!}5n9]#E4x+G'y
/*********************************************************/ 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛;_7S6V$y3?1\1A
void pio_outword( WORD addr, WORD data ) %r'T9V%I${.E;M$~
{
+R:N$D/c$V9gtech.techweb.com.cn    WORD regAddr=pio_reg_addrs[addr]; 2J*W*g&~;X
    _asm  {push ax}
3\%I7n*M"e2P,L9^*tTechWeb-技术社区    _asm  {push dx} :@"B%W9z;p+T%x4R)Q
    _asm  {mov dx,regAddr} ;k7t)J2X5m+y![
    _asm  {mov ax,data} tech.techweb.com.cn;T$q._-l0C
    _asm  {out dx,ax} 2J D.k6g#m.?)S
    _asm  {pop dx}
2[:O'A6l'b3G    _asm  {pop ax}

引用 回复 顶部
游客
该用户匿名发帖









发表于 2008-8-20 11:59
x86处理器有inport和outport指令,也有相应的C语言函数库。;E6I!j4]%E'T2s(W1A#~
你的WinCE是哪一个版本?不同的版本可能有点不一样,还有就是访问的地址空间应该是虚拟的地址

引用 回复 顶部
游客
该用户匿名发帖









发表于 2008-8-20 11:59
阿,有这么复杂,就是帮其他人写个通讯程序,这个通讯跟处理有关系吗,跟wince的版本也有关系吗,我只是想在EVC4+sp4+标准SDK  这样能跑就行了,我做实验是读取硬盘的数据(端口号为0x1f0,0x3f6),这种情况用inport,outport行吗,我看望上很多人说用嵌入汇编阿

引用 回复 顶部
游客
该用户匿名发帖









发表于 2008-8-20 11:59
C语言无所不能.........................

引用 回复 顶部
游客
该用户匿名发帖









发表于 2008-8-20 12:00
高手指点阿,这一点没通过其他事情都没法作阿

引用 回复 顶部
游客
该用户匿名发帖









发表于 2008-8-20 12:00
当然不用嵌入汇编了,直接用c就可以了,我发给你一本书,你可以在那里找找看应该有例子

引用 回复 顶部
游客
该用户匿名发帖









发表于 2008-8-20 12:00
hi, dfhggd你好,好啊,谢谢你,我的Email是 hwu@sst.com 非常感谢,我在线接受哦

引用 回复 顶部
游客
该用户匿名发帖









发表于 2008-8-20 12:00
这个不需要嵌入汇编的,完全理解错了。!P(j3u3f:P#^7m/Q$Y

5b$H0i9\9B(w+s$]既然是在eVC+SDK下,那么就是做应用程序,而不是驱动。1F7B8T*O.Z+{*I9c%?

.y$R6|/y4^0A5ETechWeb-技术社区你只要以流驱动接口方式打开硬盘就行,然后以文件方式操作就ok,不涉及任何底层的接口之类的。

引用 回复 顶部
游客
该用户匿名发帖









发表于 2008-8-20 12:00
dfhqgd您好:;b%n2F%X4M-g.? ~$q7Q6Q
什么书名可以告诉我吗??

引用 回复 顶部
游客
该用户匿名发帖









发表于 2008-8-20 12:00
也许我没说清楚,我是要通过端口通讯,也许用API的CreateFile可以操作,但是我不要这种方法,请指教

引用 回复 顶部
查看积分策略说明快速回复主题
选项 标题 Smilies
禁用 URL 识别
禁用 Smilies
禁用 Discuz!代码
使用匿名发帖
使用个人签名
接收新回复邮件通知
内容





当前时区 GMT+8, 现在时间是 2008-11-23 05:52
京ICP证060517号

本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.5.0 © 2001-2008 Comsenz Inc.
Processed in 0.033714 second(s), 7 queries

清除 Cookies - 联系我们 - TechWeb.com.cn - Archiver - WAP