[技术问答] 杰发AC7811的IO口怎么设置为开漏输出

[复制链接]
10889|15
 楼主| luoyangyang 发表于 2019-10-11 14:50 | 显示全部楼层 |阅读模式
如题,杰发AC7811的IO口怎么设置为开漏输出,手册GPIO也没讲这个
JasonLee27 发表于 2019-10-12 17:17 | 显示全部楼层
WeChat Screenshot_20191012171456.png 在参考手册17.3.3章节,E4,E2两个寄存器用于设置IO口的输出能力。通过驱动代码设置的话应该是调用int32_t GPIO_SetE4E2(uint32_t gpioNum, uint32_t E4E2Value)函数


TechHolder 发表于 2019-10-14 09:43 | 显示全部楼层
无法通过软件将GPIO设置为开漏输出,只有将引脚功能设置为I2C功能时,自动配置为开漏。
TechHolder 发表于 2019-10-14 09:45 | 显示全部楼层
无法通过软件设置寄存器将GPIO设置为开漏输出,只有将引脚功能设置为I2C功能时,自动配置为开漏。
 楼主| luoyangyang 发表于 2019-10-22 11:13 | 显示全部楼层
TechHolder 发表于 2019-10-14 09:45
无法通过软件设置寄存器将GPIO设置为开漏输出,只有将引脚功能设置为I2C功能时,自动配置为开漏。 ...

断开内部上拉是否就是开漏模式了?
TechHolder 发表于 2019-10-23 09:28 | 显示全部楼层
luoyangyang 发表于 2019-10-22 11:13
断开内部上拉是否就是开漏模式了?

如果是输入模式,断开内部上拉下拉就是浮空,如果是输出,就是推挽。
zeshoufx 发表于 2019-10-23 09:40 | 显示全部楼层
JasonLee27 发表于 2019-10-12 17:17
在参考手册17.3.3章节,E4,E2两个寄存器用于设置IO口的输出能力。通过驱动代码设置的话应该是调用int32_t  ...

谢谢分享,,,,,,,,,,,,,,,
gx_huang 发表于 2019-10-23 09:49 | 显示全部楼层
如果这样,这个GPIO模式是有缺陷的,有些需要OD输出的就会很麻烦。
AutochipsMCU 发表于 2019-10-23 11:41 | 显示全部楼层
gx_huang 发表于 2019-10-23 09:49
如果这样,这个GPIO模式是有缺陷的,有些需要OD输出的就会很麻烦。

在什么情况下必须要用GPIO开漏输出呢?
gx_huang 发表于 2019-10-23 12:57 | 显示全部楼层
AutochipsMCU 发表于 2019-10-23 11:41
在什么情况下必须要用GPIO开漏输出呢?

需要OD输出的场合很多,不仅I2C需要,其它也需要,实现线与的作用,不会导致逻辑重读,比如用GPIO复位另外一个MCU的复位脚(很多MCU的复位脚,主动复位也是OD输出低电平)。否则,为何很多MCU都有OD输出模式呢?为何标准51没有OD输出但是上拉很弱的,大致等同于OD输出。
AutochipsMCU 发表于 2019-10-24 10:35 | 显示全部楼层
gx_huang 发表于 2019-10-23 12:57
需要OD输出的场合很多,不仅I2C需要,其它也需要,实现线与的作用,不会导致逻辑重读,比如用GPIO复位另 ...

我们的IO没有提供开漏功能的配置,不过可以通过配置寄存器的组合实现开漏的效果。
模拟开漏输出高(需外部接上拉)
1)     配置IO为输入模式
2)     输出寄存器(ODR)设置为0
3)     将PU&PD均配置为关闭
模拟开漏输出低:
1)     配置IO为输出模式
2)     输出寄存器(ODR)设置为0
3)     将PU&PD均配置为关闭







hayden0 发表于 2019-11-7 09:05 | 显示全部楼层
gx_huang 发表于 2019-10-23 12:57
需要OD输出的场合很多,不仅I2C需要,其它也需要,实现线与的作用,不会导致逻辑重读,比如用GPIO复位另 ...

get到新技能,开漏没用过,高阻倒是用过
condition 发表于 2019-11-11 20:02 | 显示全部楼层
看这个原理图,貌似不支持OD输出
consumption 发表于 2019-11-17 17:50 | 显示全部楼层
貌似没有开漏输出
 楼主| luoyangyang 发表于 2021-8-25 13:48 | 显示全部楼层
AutochipsMCU 发表于 2019-10-24 10:35
我们的IO没有提供开漏功能的配置,不过可以通过配置寄存器的组合实现开漏的效果。模拟开漏输出高(需外部 ...

没看太明白,设置为开漏输出怎么还分输出高和低
 楼主| luoyangyang 发表于 2021-8-25 13:49 | 显示全部楼层

你实现开漏输出了吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

28

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部