ZHCUAN6E October 2022 – May 2025 MSPM0L1105 , MSPM0L1106 , MSPM0L1116 , MSPM0L1117 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1
软件复位注意事项
可以通过同时设置 I2Cx.RSTCTL 寄存器中的 RESETASSERT 位和 KEY 位来执行软件复位。我们建议仅在终止事务后进行复位。
硬件复位注意事项
硬件复位也会初始化 IO 配置。此过程会将 IO 设置为高阻抗状态,并通过 I2C 的外部上拉电阻将线路上拉至高电平。
表 22-14 展示了禁用控制器或目标后状态位的行为。| 寄存器 | 位 | 禁用控制器后的行为 | 禁用目标后的行为 | 启用控制器/目标后的行为 |
|---|---|---|---|---|
| I2Cx.MSR | Busy | 复位状态 | 不用考虑 | 发送启动条件时进行更新 |
| ERR | 复位状态 | 不用考虑 | 检测到下一个事件时进行更新 | |
| ADRACK | 复位状态 | 不用考虑 | 检测到下一个事件时进行更新 | |
| DATACK | 复位状态 | 不用考虑 | 检测到下一个事件时进行更新 | |
| ARBLST | 复位状态 | 不用考虑 | 检测到下一个事件时进行更新 | |
| IDLE(闲置) | 复位状态 | 不用考虑 | 检测到下一个事件时进行更新 | |
| BUSBSY | 复位状态 | 不用考虑 | 在总线上检测到下一次启动(或 SDA/SCL 为低电平)时进行更新 | |
| CLKTO | 复位状态 | 不用考虑 | 检测到下一个事件时进行更新 | |
| MBCNT | 复位状态 | 不用考虑 | 检测到下一个事件时进行更新 | |
| I2Cx.MCLKOCNT | CLKCNT | 复位状态 | 不用考虑 | 当 SCL 为高电平时通过控制器使能进行更新 |
| I2Cx.MBMON | SCL | 复位状态 | 不用考虑 | 通过控制器使能进行更新 |
| SDA | 复位状态 | 不用考虑 | 通过控制器使能进行更新 |
| 寄存器 | 位 | 禁用控制器后的行为 | 禁用目标后的行为 | 启用控制器/目标后的行为 |
|---|---|---|---|---|
| I2Cx.SSR | RREQ | 不用考虑 | 复位状态 | 检测到下一个事件时进行更新 |
| TREQ | 不用考虑 | 复位状态 | 检测到下一个事件时进行更新 | |
| OAR2SEL | 不用考虑 | 复位状态 | 检测到下一个事件时进行更新 | |
| QCMDST | 不用考虑 | 复位状态 | 检测到下一个事件时进行更新 | |
| QCMDRW | 不用考虑 | 复位状态 | 检测到下一个事件时进行更新 | |
| I2Cx.SFIFOSR | RXFIFOCNT | 不用考虑 | 未更改 | 在 FIFO 访问时进行更新 |
| TXFIFOCNT | 不用考虑 | 未更改 | 在 FIFO 访问时进行更新 |