阅读:893回复:3
很疑惑,是这样吗??
我的ISA板子上有两个16位的I/0口,我采用程序控制的方式往I/O口写数据,驱动中采用两个DEVICEIOCONTROL分别向每个端口写数据,在每个DEVICEIOCONTROL中我采用outw()函数。我的问题是,当我给端口写数据时,每个I/0口的片选是不是在我传数据的时候一直是有效的,这个片选信号在我传完数据后才无效,是不是我要通知硬件我什么时候传完数据?还是,不用通知,只用outw()这个 函数就足够了!
|
|
|
沙发#
发布于:2003-04-18 15:18
片选信号是由机器指令OUTW发出的,如果你使用outw()函数,它肯定调用了OUTW指令,OUTW初期发起片选信号,一但写数据完成,指令执行完成,片选信号被取消,但不排除你的总线有独特的锁存机制来锁存片选信号,但一般不要做这样的假定。
|
|
板凳#
发布于:2003-04-20 10:47
片选信号是由机器指令OUTW发出的,如果你使用outw()函数,它肯定调用了OUTW指令,OUTW初期发起片选信号,一但写数据完成,指令执行完成,片选信号被取消,但不排除你的总线有独特的锁存机制来锁存片选信号,但一般不要做这样的假定。 独特的锁存机制来锁存片选信号,楼上大哥能讲讲这是什么意思吗?? |
|
|
地板#
发布于:2003-04-20 10:54
[quote]片选信号是由机器指令OUTW发出的,如果你使用outw()函数,它肯定调用了OUTW指令,OUTW初期发起片选信号,一但写数据完成,指令执行完成,片选信号被取消,但不排除你的总线有独特的锁存机制来锁存片选信号,但一般不要做这样的假定。 独特的锁存机制来锁存片选信号,楼上大哥能讲讲这是什么意思吗?? [/quote] 就是你在电路中用锁存器将片选信号锁存,这个被锁存的信号不会被取消,直到你人为取消它. |
|
|