EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
转——三态门之战 3 ]; }5 b4 g' v; ~% H" a2 v1 W
) e# T/ Q2 P% m n# J( R8 d
在之前的实验中,我们所接触到的IO都是单纯的输入(input)或者输出(output)类型,而我们的一些总线协议如IIC等,要求信号为三态类型,也就是我们所说的输入输出(inout)类型。 接下来,我们就来看一下这类信号的具体用法,输入输出类型,顾名思义就是既可以作为输入,也可以作为输出,我们可以通过如下代码学习这类信号的赋值驱动方式。
1 d6 K& j; T/ b7 a编写测试代码如下:
( c# \# P4 k9 Y5 ~* Z V+ S1 r
* Y, q( e f: `- k* F* N9 K6 z- ~( Y
# c4 }0 _+ Z; @. V, v8 X( {$ t6 J) t0 N2 l4 D' S
查看仿真波形如下: 3 M* T9 j. A4 m* @
由上述波形可以看出,当开关关闭(flag==0),sda总线放开,处于高阻状态,此时外部数据可以输入,相当于我们模块的输入。 当开关打开(flag==1),sda等于sda_buf的值,说明此时,sda相当于我们模块的输出。 2 [7 z+ a0 I+ Y! c
|