2 wdwcson wdwcson 于 2016.01.29 17:09 提问

MFC程序读写并口时,什么避免状态寄存器10和11位高电平时的影响数据位和控制位的状态?

Win7 64位系统使用MFC程序读写并口时,发现并口状态位寄存器控制的10号、11号管脚为高电平时,并口数据位管脚电平被强制置低,控制位的14和17号管脚周期性跳变。经Google、百度查了发现并口有一套为打印机设计的一套通讯协议,但不知道什么去除通讯协议的影响。或者还有什么接口直接操作并口? 我目前的项目需要用并口与外部设备通讯,输入信号用到并口状态寄存器。 编程使用的接口是WinIo(下载网址:www.internals.com)。

6个回答

lm_whales
lm_whales   Rxr 2016.02.04 14:01
已采纳

你如果不需要并口通讯,只是需要并口的接口形式的插头,焊接的时候,别按照并口方式焊接
并且不要插在并口设备的并口上(打印机或者电脑的并口)
自己另外做个接口卡插入电脑,设备端自行确定如何接法,通讯协议自行定义即可

devmiao
devmiao   Ds   Rxr 2016.01.29 22:34
lm_whales
lm_whales   Rxr 2016.02.02 23:29

为何要去除,直接按照协议操作就是了

lm_whales
lm_whales   Rxr 2016.02.02 23:30

并口协议,又不是很难懂

lm_whales
lm_whales 并口协议有很多版本,应该可以满足你的需求。标准版,EPP版,ECP版
2 年多之前 回复
lm_whales
lm_whales 如果不能满足需求,要么换成别的端口(例如USB),要么修改你的做法,适应端口协议
2 年多之前 回复
lm_whales
lm_whales 不要从修改协议入手,应该在协议框架内写代码
2 年多之前 回复
lm_whales
lm_whales 为何一定要不受控制?这才是问题。
2 年多之前 回复
wdwcson
wdwcson 我目前查到的并口协议资料中没有使并口数据位和控制位不受状态位10、11号管脚影响的方法。哥们能否具体说一下什么操作的?
2 年多之前 回复
lm_whales
lm_whales   Rxr 2016.02.04 13:40

SPP (Standard Parallel Port) 标准并行接口
EPP (Enhanced Parallel Port) 增强并行接口
ECP (Extended Capabilities Port) 扩展功能并行接口

lm_whales
lm_whales   Rxr 2016.02.04 13:57

SPP
3BCh,3DBh,3BEh
378h,379h,37ah
278h,279h,27ah
第一个端口地址是数据端口,也是端口基地址,第二个为状态端口,第三个控制端口
EPP
+3~+7
ECP
+400h~+402h

25芯并口 10、11
分别为Ack,和Busy 一个是应答信号一个是忙标志,
这个是并口通讯必须有的信号
不可能避开的,否则并口无法通讯

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
浅谈CPSR程序状态寄存器
浅谈CPSR程序状态寄存器 首先给出其各个位的定义如下: (CPSR,SPSR)访问指令 ARM 微处理器支持程序状态寄存器访问指令,用于在程序状态寄存器和通用寄存器之间传送数据,程序状态寄存器访问指令包括以下两条: — MRS: 程序状态寄存器到通用寄存器的数据传送指令 — MSR: 通用寄存器到程序状态寄存器的数据传送指令 1、 MRS 指令 MRS 指令的格
ARM7学习笔记——GPIO
概述 LPC2000系列ARM的GPIO具有如下特性: 可以独立控制每个GPIO口的方向(输入/输出模式)可以独立设置每个GPIO的输出状态(高/低电平)所有GPIO口在复位后默认为输入状态 GPIO相关寄存器描述     由上图可以发现每个作为GPIO功能的引脚受到4个寄存器控制,分别为控制方向的IOxDIR,控制输出电平状态的IOxSET和IOxCLR,反映引脚
modbus读输入状态与读线圈状态的区别?
01 读线圈状态  描述 读从机离散量输出口的 ON/OFF 状态,不支持广播。附录B列出由不同控制器型号支持最大的参数清单。   查询 查询信息规定了要读的起始线圈和线圈量,线圈的起始地址为零,1-16个线圈的寻址地址分为0-15。例:请求从机设备17读20-56线圈。 QUERY   Field Name   Slave Address Function
NRF24L01+学习笔记
一、 SPI的通信协议 SPI(Serial Peripheral Interface)是一种串行同步通讯协议,由一个主设备和一个或多个从设备组成,主设备启动一个与从设备的同步通讯,从而完成数据的交换。SPI 接口一般由4根线组成,CS片选信号(有的单片机上也称为NSS),SCLK时钟信号线,MISO数据线(主机输入从机输出),MOSI数据线(主机输出从机输入),CS 决定了唯一的与主设备通信的
哪些指令会改变汇编的标志位
http://nannan408.iteye.com/blog/970585 这些书上都没有现成的答案,需要自己总结,感谢BEYOND0769,做出这么出色的总结。以下是会改变标志位的指令。 (1) 加法指令:ADD、ADC、INC、XADD除了INC不影响CF标志位外,都影响条件标志位。                   CF、ZF、SF、OF
SPI读写总结
SPI协议是主从模式:从机不主动发起访问,总是被动执行操作。CSN:片选信号。SCK:时钟信号。MOSI:master output slave input,即主机输出从机输入。可以理解主机写从设备。MISO:master input slave output,即主机输入从机输出。可以理解主机读从设备。SPI全称:Serial Peripheral interface,即串行外围设备接口。SPI协
程序状态寄存器指令
MRS{}Rd,psr把程序状态计数器的数读入寄存器 MSR{}psr_fileds,Rm|#immediate_8给程序状态计数器赋值 在ARM中,仅有这两条指令可改变程序状态计数器的值 field设置状态寄存器中需要操作的位,bit[31:24]条件标志位,用f表示,bit[23:16]状态标志域,用s表示,bit[15:8]扩展位域位,用x表示,bit[7:0]条件标志位,用c表示
状态控制标志位
二、状态控制标志位 状态控制标志位是用来控制CPU操作的,它们要通过专门的指令才能使之发生改变。 1、追踪标志TF(Trap Flag)                          当追踪标志TF被置为1时,CPU进入单步执行方式,即每执行一条指令,产生一个单步中断请求。这种方式主要用于程序的调试。                          指令系统中没有专门的指令来改变标志
80x86系统寄存器以及系统指令(个人理解)
  80x86 系统寄存器和系统指令 为了协助处理器执行初始化和控制系统操作,80x86 提供了一个标志寄存器EFLAGS和几个系统寄存器,除了一些通用状态标志外,EFLAGS 中还包含几个系统标志。 这些系统标志用于控制任务切换,中断处理,指令跟踪以及访问权限。 系统寄存器用于内存管理和控制处理器操作, 含有分段和分页处理机制系统表的基地址,控制处理器的比较比特标志位。 标志寄存器:  ...
关于GPIO的上电复位后默认输出电平的影响
关于GPIO的上电复位后默认输出电平的影响 如果需要GPIO对某个模块的控制,比如振动马达的震动使能控制,LCD的背光使能控制,闪光灯的使能控制,耳机和喇叭功率放大器的输出控制。这些模块都比较敏感。如果GPIO的选择不恰当就会引起上电的时候,CPU复位后代码还没有执行到GPIO的初始化模块的前面一段时间就会引起模块不稳定。ARM的GPIO每个GPIO都有一个复位默认状态,有些GPIO上电复位后默