找回密码
 立即注册
查看: 399|回复: 2

IIC初始化之后要怎么初始化IO才有效

[复制链接]

21

主题

38

回帖

402

积分

中级会员

积分
402
发表于 2024-3-18 13:13:59 | 显示全部楼层 |阅读模式
本帖最后由 Mike_zz 于 2024-3-18 13:22 编辑

先讲一下需求 我需要SDA拉低产生下降沿

初始化的配置是开漏
截图202403181309401953.jpg

在后面的代码中配置成普通IO口 配置成了推挽+输出低
截图202403181311586603.jpg

但是这时候拉低不了,一直是高电平
要怎么重新初始化才能拉低电平
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6843

积分

论坛元老

积分
6843
发表于 2024-3-18 13:39:48 | 显示全部楼层
IIC做从机的话脚位配置为开漏模式+上拉电阻就可以做收发通信。
正常不需要切换模式,如果确实需要切换的话,建议检查一下“配置成了推挽+输出低”两个函数的代码是否正确。
回复 支持 反对

使用道具 举报 送花

21

主题

38

回帖

402

积分

中级会员

积分
402
发表于 2024-3-18 13:53:39 | 显示全部楼层
乘风*** 发表于 2024-3-18 13:39
IIC做从机的话脚位配置为开漏模式+上拉电阻就可以做收发通信。
正常不需要切换模式,如果确实需要切换的话 ...

我IIC是从机,需要SDA产生下降沿唤醒主机,所以需要重新初始化IO口。
目前问题已经解决,只需要I2C_InitStructure.I2C_Enable    = DISABLE,就能重新初始化,拉低电平
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 20:44 , Processed in 0.145450 second(s), 64 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表