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
典型的 I2C 事务必须先写入目标以设置寄存器编号,然后执行重复的启动 + 读取以读取数据值。但是,借助 RD_ON_EMPTY 标志,只需设置一次 I2C 控制器即可执行两个 I2C 事务。软件可以同时设置写入和读取,其限制是“写入”阶段发送的数据不能超过 TX FIFO 中可容纳的数据。这是一种尽可能降低中断处理要求的优化方法。简要的设置如下:
此设置下的预期行为是控制器执行 START,发送所有 TXFIFO 数据,当 TXFIFO 为空时,自动执行一次重复的 START,读取 MBLEN 字节,然后 STOP。