关于STM32 中模拟IIC或SPI管脚配置问题?

关于STM32 中模拟IIC或SPI管脚配置问题?,第1张

SPI总线建议你使用STM32内置的SPI总线,网上有很多例程。如果你一定要模拟也是可以的。

IIC总线一直是STM32的诟病,用模拟总线更安全一些。

一般的IO口都可以配置成你说的四种模式的任意一种,而且编程过程中可以随时进行转换。

有些脚只能设置成输出或者输入,比如OSC32的IN,OUT做普通IO使用时就是如此。

这些在STM32的datasheet的引脚部分中都有详细说明。

IIC总线CLK要用推挽,数据总线在送出信号时设置成推挽,

输入如果没有上拉电阻时配置成上拉输入,有上拉则配置成浮空输入。

SPI总线的CLK,CS,MOSI脚设置成推挽,MISO脚配置成上拉输入。

网上down一个IIC模拟程序分析一下就是了,时序要求没那么精确的,大于多少ns就行了。稍作延时。上拉电阻一般就弄个10K。无论是对于哪种芯片IIC的时序是没多大差别的,弄个大概出来,在用示波器看,再比较手册,看哪不对再改。这样是调IIC最好方法。

还有,我不是记得STM32有硬IIC核吗,为何还需要用模拟IIC时序的方式去实现

硬件IIC只能接到它固定的管脚上,而且好像只有一两组,另外IO固定有时画板不好布线,有一定的局限性;

模拟I2C随便两个IO口就可以用了,另外同样的代码移值到其他类型的MCU上很方便,重新绑下IO口的就可以了。


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

原文地址: http://outofmemory.cn/yw/11510256.html

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

发表评论

登录后才能评论

评论列表(0条)

保存