ZHCAES6 October 2024 MSPM0C1104 , MSPM0L1306
此子系统演示了如何使用 MSPM0 通过主机从串行外设接口 (SPI)、I2C 或通用异步接收器-发送器 (UART) 发出的通信命令来实现 IO 扩展器功能。当主机上的 GPIO 数量不足时,此扩展很有帮助。除了支持控制 GPIO 输出之外,子系统还可以通过 SPI、I2C 或 UART 回读 GPIO 状态。图 1-1 展示了此例中使用的子系统和模块的基本架构。
表 1-2 具有指向示例代码的链接。在此演示中,IO 控制数限制为 8。但是,用户可以通过参考此演示来进一步扩展 IO。
表 2-1 展示了此应用中所需的外设和功能模块。
子块功能 | 外设使用 | 注释 |
---|---|---|
串行外设接口 | (1 个)SPI | 在代码中称为 SPI_0_INST |
I2C 接口 | (1 个)I2C | 在代码中称为 I2C0_INST |
UART 接口 | (1 个)UART | 在代码中称为 UART_0_INST |
GPIO | (8 个)GPIO | 在代码中称为 GPIO_GRP_0 |
若要基于 MSPM0 来评估 IO 扩展器,需要以下硬件元件:
在此子系统中,客户可灵活选择不同的通信接口,包括 I2C、SPI 或 UART。这可充分提高客户系统设计的灵活性。图 4-1 以 LP-MSPM0C1104 为例展示了此设计中的硬件连接。
表 4-1 展示了引脚配置,您还可以根据需要更改配置。SPI 通信配置为三线模式以节省 GPIO 资源。MSPM0L1306 和 MSPM0C1104 的引脚配置相同。
模块 | 功能 | 引脚配置 | 备注 |
---|---|---|---|
I2C 接口 | SDA | PA0 | 地址:0x48,I2C 时钟频率:400kHz |
SDL | PA1 | ||
串行外设接口 | POSI | PA25 | SPI 时钟频率:500kHz |
PISO | PA26 | ||
时钟 | PA17 | ||
UART 接口 | RX | PA18 | 波特率:9600bps |
TX | PA23 | ||
GPIO | GPIO | BIT0:PA2、BIT1:PA27、 BIT2:PA17、BIT3:PA24、 BIT4:PA4、BIT5:PA6、 BIT6:PA16、BIT7:PA22 |