[AT32F403/403A] GPIO设为开漏输出,但是内部上拉电阻无效

[复制链接]
 楼主| dopod577w 发表于 2022-6-6 10:52 | 显示全部楼层 |阅读模式
用AT-START-F403A评估板,在模板程序上稍加改动,设置PB9为输出GPIO,开漏,上拉电阻
但是输出一直是0,而改成PUSH_PULL之后,就能输出高低电平,为什么?

  1.         gpio_default_para_init(&gpio_init_struct);

  2.         gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
  3.         gpio_init_struct.gpio_out_type = GPIO_OUTPUT_OPEN_DRAIN; <---
  4. //        gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;  <---
  5.         gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT;
  6.         gpio_init_struct.gpio_pins = GPIO_PINS_9;
  7.         gpio_init_struct.gpio_pull = GPIO_PULL_UP;
  8.         gpio_init(GPIOB, &gpio_init_struct);
 楼主| dopod577w 发表于 2022-6-6 11:23 | 显示全部楼层
看手册,好像输出的时候设置为OC模式是没有上拉下拉电阻的,太坑爹了

点评

不肯爹啊,有上拉还叫OC吗?!  发表于 2022-6-7 08:12
muyichuan2012 发表于 2022-6-6 11:37 | 显示全部楼层
和ST103一样,如果设置为开漏,需要外部加上拉电阻。
海洋无限 发表于 2022-6-6 12:18 | 显示全部楼层
设定是开漏哎
xch 发表于 2022-6-6 12:52 | 显示全部楼层
我这么使用:
用需要上拉时,切换为输入模式,      IOFC = 10 ;ODT =  1;
需要输出低电平时,切换为输出模式。ODT =0; IOFC  = 00 or 01;
 楼主| dopod577w 发表于 2022-6-6 13:14 | 显示全部楼层
xch 发表于 2022-6-6 12:52
我这么使用:
用需要上拉时,切换为输入模式,      IOFC = 10 ;ODT =  1;
需要输出低电平时,切换为输出模 ...

是个好办法!
cjseng 发表于 2022-6-6 13:19 | 显示全部楼层
开漏就是没有上拉电阻的意思啊
tpgf 发表于 2022-7-5 11:51 | 显示全部楼层
请问可以在哪里购买评估板啊
wakayi 发表于 2022-7-5 12:04 | 显示全部楼层
开漏输出的外部应该如何连接呢
wowu 发表于 2022-7-5 12:12 | 显示全部楼层
外部不接电阻的话 需要接什么器件呢
xiaoqizi 发表于 2022-7-5 12:18 | 显示全部楼层
一般不指望内部上拉
木木guainv 发表于 2022-7-5 12:46 | 显示全部楼层
也是一个好的解决办法
磨砂 发表于 2022-7-5 13:30 | 显示全部楼层
怎么也需要加外部的上拉电阻的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

26

帖子

2

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