stm32读写l3g4200d用i2c总线 CS需不要接高电平 做毕设急需 望高人解答

stm32读写l3g4200d用i2c总线 CS需不要接高电平 做毕设急需 望高人解答,第1张

不用着急,这个本身是非常简单的问题,而且STM32和这个ST推出3轴数字陀螺仪L3G4200D都是非常好用的

从手册可以看出

CS-SPI enable

2C/SPI mode selection (1:I2C mode; 0: SPI enabled)

所以你再用IIC访问的时候,cs脚是必须拉高的,建议上拉。

使用STM32的IIC时,建议用模拟的方式(参考对EEPROM的 *** 作,这个芯片和EEPROM的 *** 作差别在于器件地址不同而已),这样代码可读性更好。

再给你个参考程序的连接>

业内一直传说

STM32

的硬件

I2C

有bug,会出现一些

死锁

的情况,所以大家一般都会避免使用硬件I2C,转而使用模拟I2C,毕竟引脚可以随便设置。

具体到底有没有坑,这个我还真的没测试过,一直用的都是模拟I2C。

stm32 把I2C的每一个状态都分的很细,在读之前要进行写 *** 作,而这一部分则被划分到写的过程中去了,手册上的接收传送序列图指的就是写 *** 作之后的那部分读 *** 作。

I2C读的完整过程为

(启动总线,送器件地址,送 *** 作地址){这部分是读之前的写 *** 作}

启动总线,发送器件地址(读),读取数据,停止总线。(这部分就是手册上的主接收传送序列图)

解释的不够清晰,希望对你有帮助。

碰巧你的CPU带I2C接口,当然可以直接接喽,但参考程序就需要改成用I2C设备的了。

官方代码一般是用专用的两个GPIO模拟I2C通讯,这需要占用CPU时间来轮询处理通讯,而I2C可单独干活,速度和效率比用GPIO模拟的高。用GPIO模拟的灵活性大,设备不一定必须挂载到I2C上,接口灵活,如果传感器是低速设备模拟的足够用了,也可以实现专口专用。

以上就是关于stm32读写l3g4200d用i2c总线 CS需不要接高电平 做毕设急需 望高人解答全部的内容,包括:stm32读写l3g4200d用i2c总线 CS需不要接高电平 做毕设急需 望高人解答、stm32硬件i2c缺陷解决方法、STM32F302RC 硬件I2C DMa有坑吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9302938.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存