原理图查看I2C设备地址以及使用STM32和Zephyr Driver进行IC通讯时的注意事项
Posted 17岁boy想当攻城狮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原理图查看I2C设备地址以及使用STM32和Zephyr Driver进行IC通讯时的注意事项相关的知识,希望对你有一定的参考价值。
如下图,是一个WM8994CODER的从设备地址,它的地址是:00110100 转化为16进制就是0x34,但这不是它的实际地址,实际地址是右移一位:00011010,0x1A。
为什么需要右移一位呢?这个原因是因为I2C的通讯模式,在发送地址位时,只有前七位是有效的,最后一位是读写位,I2C的通讯时序是先发高位,在发低位,所以最低位就是读写位,也就是最后发的一个位,那么我们把最低位的0去掉不看,因为它是读写位,所以就是00011010,右移一位。
在Stm32的HAL外设库中,不需要右移一位,Stm32的HAL外设库会自动右移一位,所以在使用Stm32的HAL外设库做I2C通讯时给原始地址就可以了。
在Zephyr的I2C Driver中需要给实际地址,也就是I2C的准确地址不包含读写位的。
有的原理图给的是包含读写位的地址,有的给的是不包含读写位的,这个需要加以区分。
相关链接:详细介绍GPIO、I2C、SPI通讯原理以及物理层原理_17岁boy的博客-CSDN博客_sdi和sdo
以上是关于原理图查看I2C设备地址以及使用STM32和Zephyr Driver进行IC通讯时的注意事项的主要内容,如果未能解决你的问题,请参考以下文章