树ye 2022-07-31 15:12 采纳率: 33.3%
浏览 53
已结题

STM32IIC和SPI端口初始化配置问题

为什么IIC需要配置成推挽输出,而不是复用推挽,IIC不是属于外设吗?而SPI为什么就要用复用推挽输出

img

img

  • 写回答

2条回答 默认 最新

  • 九月听风眠 2022-08-03 10:25
    关注

    现在STM用的I2C基本都是软件模拟的,所以并不是用的STM的外设,都是自己编程实现I2C通讯。原因嘛,说的是STM的I2C有BUG。实际工程上,我也确实没见过有人用过I2C外设,都是将GPIO口设置成普通开漏输出,外围电路加上拉来实现的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • K-Pioneer 2022-07-31 16:35
    关注

    IO复用只有2个模式,开漏输出和推挽输出。主要目的是为了打开复用通道。而当spi的MISO的GPIO模式配置为复用推挽输出时,因为MISO是输入而没有输出,输出信号线上没有信号,所以推挽输出的2个MOS管都是处于关闭状态,不会影响外部信号。

    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月29日
  • 已采纳回答 8月21日
  • 创建了问题 7月31日

悬赏问题

  • ¥15 shopify网站提速
  • ¥15 深海控制器DSE7320MKII和博世ECU间can通讯知识
  • ¥15 Ru的复折射率用于FDTD 200nm到1200nm
  • ¥15 使用Fiddler抓包,textview的乱码如何解决
  • ¥50 trio连接驱动器报错
  • ¥15 有谁懂nhanes的权重计算啊
  • ¥15 欧姆龙PLC 电机控制 限位
  • ¥30 如何处理shell命令接收到的视频流并实时播放出来
  • ¥15 虚心请教C#的代码优化问题
  • ¥15 有偿求做台风过境全过程模拟仿真