打印

极海APM32F030 读正交编码器 引脚GPIO模式设置成什么模式?

[复制链接]
3163|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Aist2018|  楼主 | 2023-9-21 13:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
读取正交编码器输入,GPIO引脚配置成什么模式?GPIO_MODE_AF还是GPIO_MODE_IN?

使用特权

评论回复
沙发
Aist2018|  楼主 | 2023-9-21 14:01 | 只看该作者
我问AI得到的答案是一般来说你需要将 GPIO 引脚配置为输入模式,即 GPIO_MODE_IN。和人对对。

使用特权

评论回复
板凳
Aist2018|  楼主 | 2023-9-21 15:56 | 只看该作者
应用场景为定时器输入捕获编码器测速

使用特权

评论回复
地板
ifxz0123| | 2023-9-21 19:46 | 只看该作者
AF,正交编码属于TIM的的一种模式,属于定时器AF功能

使用特权

评论回复
5
Aist2018|  楼主 | 2023-9-22 09:29 | 只看该作者
问错AI,是个写作大模型,CSDN的AI回答应该靠谱一点

使用特权

评论回复
6
sesefadou| | 2023-10-5 15:09 | 只看该作者
需要设置引脚的GPIO模式为输入模式。正交编码器通常使用两个通道来检测旋转方向和计数脉冲,因此你需要配置两个GPIO引脚作为输入。这两个引脚通常被称为通道A和通道B。

使用特权

评论回复
7
nomomy| | 2023-10-5 15:20 | 只看该作者
使用的是正交编码器模式,那么需要将GPIO引脚配置为定时器输入模式。

使用特权

评论回复
8
wilhelmina2| | 2023-10-5 15:31 | 只看该作者
需要将引脚GPIO模式设置成AF(Alternate Function)模式。这是因为正交编码器的信号通常需要连接到GPIO的复用功能引脚上,这些引脚在AF模式下可以被配置为不同的功能,包括连接至正交编码器。

使用特权

评论回复
9
juliestephen| | 2023-10-5 16:02 | 只看该作者
正交编码器输出两组相位差90度的方波信号(A和B),通过检测这些信号的相位差可以计算出轴的位置或速度。霍尔编码器输出的是两个相位差90度的脉冲信号和一个方向信号,通过读取这些信号可以获得轴的位置或速度信息。

使用特权

评论回复
10
pl202| | 2023-10-5 17:33 | 只看该作者
通常情况下,正交编码器的信号由两个相位差异为90度的脉冲信号组成,通常称为A相和B相。以下是一种常见的设置方式:

将A相信号连接到一个GPIO引脚上,将B相信号连接到另一个GPIO引脚上。
将这两个GPIO引脚设置为输入模式。

使用特权

评论回复
11
youtome| | 2023-10-5 20:27 | 只看该作者
可以使用GPIOA接口的4号和5号引脚来控制正交编码器的输入信号

使用特权

评论回复
12
1988020566| | 2023-10-6 22:52 | 只看该作者
如果你的编码器输出是开漏或集电极开路的,你可能需要选择上拉或下拉输入模式。如果编码器的输出是推挽输出的,那么浮空输入模式可能更合适。同时,如果你需要通过ADC读取编码器的信号,那么应将引脚设置为模拟输入模式。

使用特权

评论回复
13
iyoum| | 2023-10-8 15:25 | 只看该作者
读取正交编码器的引脚GPIO模式通常设置为推挽模式或开漏模式。

使用特权

评论回复
14
usysm| | 2023-10-8 15:37 | 只看该作者
具体使用哪种模式取决于正交编码器的输出信号类型。

使用特权

评论回复
15
nomomy| | 2023-10-8 15:53 | 只看该作者
可以选择以下模式:

输入模式:
上拉输入(GPIO_Mode_IPU):在默认状态下,读取的GPIO引脚为高电平。
下拉输入(GPIO_Mode_IPD):在默认状态下,读取的GPIO引脚为低电平。
浮空输入(GPIO_Mode_IN_FLOATING):电压表测量引脚电压为不确定值,一般作为IIC、USART的输入管脚应用。
模拟输入模式(GPIO_Mode_AIN):在使用ADC外设的时候,将管脚配置成此模式,这样外部模拟信号直接进入MCU。

使用特权

评论回复
16
sesefadou| | 2023-10-8 16:36 | 只看该作者
将引脚设置为AF模式,你就可以使用GPIO的复用功能来配置引脚为正交编码器接口。例如,如果你使用的是Quadrature Encoder Interface (QEI),你可以使用GPIO_InitTypeDef结构体中的AFIO_MAP[n]位来配置引脚。

使用特权

评论回复
17
tabmone| | 2023-10-8 16:49 | 只看该作者
可以配置GPIO引脚的中断以便在编码器发生计数时触发中断服务程序。

使用特权

评论回复
18
geraldbetty| | 2023-10-8 17:02 | 只看该作者
具体的GPIO模式设置取决于您选择的引脚和编码器的连接方式。

使用特权

评论回复
19
febgxu| | 2023-10-8 17:39 | 只看该作者
一般情况下,可以使用以下两种模式之一:

GPIO_MODE_INPUT_ANALOG:这是一种模拟输入模式,可以读取正交编码器的模拟信号。在这种模式下,GPIO 引脚可以读取到编码器输出的模拟信号,并且可以进行 ADC 转换以获得数字值。

GPIO_MODE_INPUT_FLOATING:这是一种浮空输入模式,可以读取正交编码器的数字信号。在这种模式下,GPIO 引脚的输入电平由外部输入信号决定,当没有输入信号时,输出电平为高阻态。

使用特权

评论回复
20
yeates333| | 2023-10-8 17:49 | 只看该作者
在模拟输入模式下,I/O端口的电平信号直接进入输入数据寄存器,因此适用于读取外部信号。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

78

帖子

0

粉丝