lijqlwl
驱动牛犊
驱动牛犊
  • 注册日期2002-04-11
  • 最后登录2002-05-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2318回复:5

请教有关并口操作的问题!!

楼主#
更多 发布于:2002-04-19 15:36
  最近本人编程对并口操作时遇到一个麻烦的问题,在此项各位请教:

  编程工具:VC++6.0,操作系统:Windows 98

  问题:我使用以下的一段代码测试并口  

       _outp(0x378,0xaa);
       int iVal=_inp(0x378);

       在调试版本下,返回的数值iVal=0xaa;
       但是在发行版本下,同样的代码,返回的数值iVal=-86;
      
       如果将_outp(0x378,0xaa);改为_outp(0x378,86);
       在调试版本、发行版本都返回86。

       本人作过许多其他类似数字的测试,发现凡是最高位为1的字节数据,返回的值都是-(256-发送数据)。

       还有,这两行代码在Win2000下运行出错!

       请各位高手指教!不胜感激!

       我的E-mail:ljqlan@sina.com

[编辑 -  4/19/02 作者: lijqlwl]
drird
驱动牛犊
驱动牛犊
  • 注册日期2001-09-19
  • 最后登录2005-09-18
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-04-19 15:56
还有,这两行代码在Win2000下运行出错!

NT.w2k不能使用inp.oup指令!(写个驱动)
bh_zhouqian
驱动牛犊
驱动牛犊
  • 注册日期2002-04-19
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-04-26 13:37
返回值定义为unsigned int即可解决你说的头一个问题!
hswqs
驱动小牛
驱动小牛
  • 注册日期2001-03-27
  • 最后登录2012-03-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-04-26 22:55
呵呵,是啊,怎么用int了,在端口操作中一般使用BYTE,WORD,DWORD。
Tiger H
驱动牛犊
驱动牛犊
  • 注册日期2001-10-12
  • 最后登录2002-10-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-04-27 11:31
用 unsigned char类型的。
hehehehe
驱动牛犊
驱动牛犊
  • 注册日期2002-03-05
  • 最后登录2002-06-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-04-27 16:17
2000下不能直接对口进行操作,需要编写驱动,建议使用windriver
我最近也在2000下开发过并口的东西,可以多交流!
游客

返回顶部