跳转到内容

主控(PCA9536D)

介绍

本模块使用 PCA9536D 芯片作为核心。这是一款基于 I2C 总线的 4 位通用输入输出(GPIO)扩展器,包含输入端口、输出端口、极性反转和配置寄存器。

在 4 路继电器扩展模块中,P0 ~ P3 这 4 个 IO 全部用于控制 4 路继电器,因此库初始化时会直接将 4 个引脚配置为输出模式。

PCA9536D 的 7 位 I2C 地址固定为 0x41,因此同一条 I2C 总线上默认只能存在一个本模块。

官方数据手册 https://www.nxp.com/part/PCA9536D

寄存器

命令字节

命令字节是写入传输期间地址字节之后的第一个字节,它用作指针,用于指定后续读写的寄存器。

命令寄存器
0x00输入端口寄存器
0x01输出端口寄存器
0x02极性反转寄存器
0x03配置寄存器

PCA9536D 只有 4 个 IO,因此寄存器的低 4 位(Bit0 ~ Bit3)有效,高 4 位保留。

寄存器0:输入端口寄存器

该寄存器用于读取当前 4 个 IO 的逻辑电平。写入该寄存器无效。

Bit76543210
含义----I3I2I1I0
默认值0000XXXX

寄存器1:输出端口寄存器

该寄存器保存 4 个 IO 的输出状态。当引脚被配置为输出模式时,写入这个寄存器即可改变对应引脚的电平。

Bit76543210
含义----O3O2O1O0
默认值00001111

寄存器2:极性反转寄存器

该寄存器仅对输入模式引脚生效。当某一位写为 1 时,读取输入端口寄存器时会对对应位做逻辑反转。

Bit76543210
含义----N3N2N1N0
默认值00000000

寄存器3:配置寄存器

该寄存器用于设置引脚方向。位值为 1 时对应引脚为输入模式,位值为 0 时对应引脚为输出模式。

Bit76543210
含义----C3C2C1C0
默认值00001111

对本模块来说,通常会将配置寄存器写为 0b00000000,也就是把 4 个引脚全部配置为输出模式。