差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
stm32:i2c [2024/12/23 12:17] laythystm32:i2c [2024/12/23 12:23] (当前版本) laythy
行 39: 行 39:
 **指定地址读:**\\ **指定地址读:**\\
 指定地址读是一种复合格式,前半部分为指定地址写,后半部分是当前地址读。下面的(->P)表示前半部分可停可不停,官方推荐不停。\\ 指定地址读是一种复合格式,前半部分为指定地址写,后半部分是当前地址读。下面的(->P)表示前半部分可停可不停,官方推荐不停。\\
-前半部分依次是:S->[ADDR+W]->RA->[ADDR]->RA(->P),紧接着后半部分的:S->[ADDR+R]->RA->[DATA]->SA->P\\+前半部分依次是:S->[ADDR+W]->RA->[REGADDR]->RA(->P),紧接着后半部分的:S->[ADDR+R]->RA->[DATA]->SA->P\\
 执行完前半部分后当前地址指针就会变成其中的ADDR,然后后半部分当前地址读自然就输出指定地址的数据了。\\ 执行完前半部分后当前地址指针就会变成其中的ADDR,然后后半部分当前地址读自然就输出指定地址的数据了。\\
 {{ :stm32:i2cspecificaddrread.jpeg?800|}} {{ :stm32:i2cspecificaddrread.jpeg?800|}}
-记住,在进行读或写操作后,地址指针会自动+1。也就是说可以连续发送或接收多个字节数据。比如在一字节写完后再发送n个字节,会依次存放到前一字节的后面。\\+记住,在进行读或写操作后,地址指针会自动+1。也就是说可以连续发送或接收多个字节数据。\\ 
 +连续写入多字节数据:在一字节写完后再发送n个字节,会依次存放到前一字节的后面。S->[ADDR+W]->RA->[REGADDR]->RA-[DATA]->RA-……->RA>P\\ 
 +连续读取多字节数据:S->[ADDR+R]->RA->[REGADDR]->SA-[DATA]->SA-……->NSA>P,注意读取最后一字节数据后要给非应答(NonSendAcknowledge)。\\