OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 10713|回复: 14

stm32F4输入捕获实验 设置为推挽输出疑问?

[复制链接]

1

主题

4

帖子

0

精华

新手入门

积分
28
金钱
28
注册时间
2015-3-17
在线时间
0 小时
发表于 2015-4-1 21:24:01 | 显示全部楼层 |阅读模式
5金钱
  STM32F4 输入捕获实验中,捕获TIM5_CH1(PA0)高电平脉宽中
 A0设置为了
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //GPIOA0
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//复用功能
   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; //速度100MHz
   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽复用输出
   GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN; //下拉
   GPIO_Init(GPIOA,&GPIO_InitStructure); //初始化PA0
这是输入捕获实验, 这里为什么要设置为推挽复用输出,在F103版本的输入捕获实验中就设置为了普通输入
我把这里修改为输入后,反而不能检测出脉冲宽度了? 求解

最佳答案

查看完整内容[请看2#楼]

回复【3楼】艾木荔枝: --------------------------------- 因为设置推挽输出能用
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2015-4-1 21:24:02 | 显示全部楼层
回复【3楼】艾木荔枝:
---------------------------------
因为设置推挽输出能用
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2015-4-1 23:09:57 | 显示全部楼层
你改为什么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
28
金钱
28
注册时间
2015-3-17
在线时间
0 小时
 楼主| 发表于 2015-4-2 09:03:23 | 显示全部楼层
回复【2楼】正点原子:
---------------------
我就想知道这里为什么要设置为推挽输出?不是捕获输入实验吗?103版本设置的就是输入
回复

使用道具 举报

53

主题

175

帖子

1

精华

高级会员

Rank: 4

积分
516
金钱
516
注册时间
2014-5-16
在线时间
7 小时
发表于 2016-1-6 14:55:14 | 显示全部楼层
正点原子 发表于 2015-4-1 21:24
回复【3楼】艾木荔枝:
---------------------------------
因为设置推挽输出能用

为什么推挽输出能用呢?
就是这样设计的吗?
本人新人,各位多包涵!
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2015-11-13
在线时间
4 小时
发表于 2016-3-8 15:31:45 | 显示全部楼层
我也表示疑惑
山野村夫
回复

使用道具 举报

10

主题

48

帖子

0

精华

初级会员

Rank: 2

积分
107
金钱
107
注册时间
2016-1-22
在线时间
19 小时
发表于 2016-3-9 20:40:13 | 显示全部楼层
好早之前就遇到这个疑问,但个人理解F4里IO的模式只有这四种
GPIO_Mode_IN   = 0x00, /*!< GPIO Input Mode */
  GPIO_Mode_OUT  = 0x01, /*!< GPIO Output Mode */
  GPIO_Mode_AF   = 0x02, /*!< GPIO Alternate function Mode */
  GPIO_Mode_AN   = 0x03  /*!< GPIO Analog Mode */
在这里我们用的是GPIOA0的复用模式,而复用模式功能配置输入的时候步骤是这样的
对 I/O 端口进行编程作为复用功能时:
● 可将输出缓冲器配置为开漏或推挽
● 输出缓冲器由来自外设的信号驱动(发送器使能和数据)
● 施密特触发器输入被打开
● 根据 GPIOx_PUPDR 寄存器中的值决定是否打开弱上拉电阻和下拉电阻
● 输入数据寄存器每隔 1 个 AHB1 时钟周期对 I/O 引脚上的数据进行一次采样
● 对输入数据寄存器的读访问可获取 I/O 状态
也就说IO口复用功能时输出缓冲器必须被配置要么推完要么开漏,这并不影响后面两步输入数据寄存器对IO口引脚上的数据的采样啊 等等。
不知道我讲明白了没有。
回复

使用道具 举报

4

主题

17

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2016-1-28
在线时间
6 小时
发表于 2016-5-13 09:15:25 | 显示全部楼层
frankzhan 发表于 2016-3-9 20:40
好早之前就遇到这个疑问,但个人理解F4里IO的模式只有这四种
GPIO_Mode_IN   = 0x00, /*!< GPIO Input Mo ...

这里面关键的疑问是,你定义的管脚是输出。但是你却作为输入用的。也就是我说没有通过程序定义IO口的高低电平,而是检测外部电压的变化来得到10。这样还叫输出口吗?!
回复

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2014-7-3
在线时间
3 小时
发表于 2016-5-13 13:33:04 | 显示全部楼层
D:\Data\傲游截图20160513133118.jpg
傲游截图20160513133118.jpg
在路上
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
24
金钱
24
注册时间
2016-7-20
在线时间
4 小时
发表于 2016-7-20 11:25:17 | 显示全部楼层
同问。。。。。。。。。。。。
回复

使用道具 举报

8

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2017-1-24
在线时间
27 小时
发表于 2017-7-6 16:41:13 | 显示全部楼层
这个问题我也很困惑啊,为什么啊
回复

使用道具 举报

10

主题

82

帖子

0

精华

高级会员

Rank: 4

积分
539
金钱
539
注册时间
2017-7-28
在线时间
109 小时
发表于 2018-1-31 16:04:11 | 显示全部楼层
输出模式是可以查看输入状态的
回复

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2019-7-10
在线时间
18 小时
发表于 2019-8-21 14:39:37 | 显示全部楼层
michael91 发表于 2018-1-31 16:04
输出模式是可以查看输入状态的

小白的我,弱弱的问句输出模式可查看输入状态需要怎么理解
回复

使用道具 举报

4

主题

9

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2019-5-5
在线时间
16 小时
发表于 2020-3-28 23:49:33 | 显示全部楼层
这个问题最后有结果了么
回复

使用道具 举报

4

主题

9

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2019-5-5
在线时间
16 小时
发表于 2020-3-28 23:49:59 | 显示全部楼层
这个问题最后有结果了吗
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-3 06:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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