EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
转——三态门之战
9 C7 ]) Q" U& W, V6 G$ P
# f7 T4 f4 s) ]: d) ] 在之前的实验中,我们所接触到的IO都是单纯的输入(input)或者输出(output)类型,而我们的一些总线协议如IIC等,要求信号为三态类型,也就是我们所说的输入输出(inout)类型。 接下来,我们就来看一下这类信号的具体用法,输入输出类型,顾名思义就是既可以作为输入,也可以作为输出,我们可以通过如下代码学习这类信号的赋值驱动方式。
' A: U9 |) X W9 t Y6 G/ z编写测试代码如下:
/ d3 i" [% d7 R0 ]+ }& K+ x0 K, v; G2 C% A
) Q$ j' d1 ^2 g) f" C
0 l& r% ~' H( I* P; H
查看仿真波形如下: , H! r2 d3 a9 ?9 G: ?' h$ g& e
由上述波形可以看出,当开关关闭(flag==0),sda总线放开,处于高阻状态,此时外部数据可以输入,相当于我们模块的输入。 当开关打开(flag==1),sda等于sda_buf的值,说明此时,sda相当于我们模块的输出。
]* ~+ f9 f- V4 n" L/ u' R |