TI论坛
直播中

何夏庄

7年用户 868经验值
私信 关注
[问答]

LM3S9B92如何配置模块A B正交计数模式?

ti  LM3S 系列芯片部分含有编码器(QEI) 模块,使用时配置芯片 如 LM3S9B92  时,代码库里没有说如何在计数模式如何配置模块A ,B 正交 计数模式。
  QEIConfigure()的参数已经设置了 A B 通道计数模式,手册没有说明这种配置时,计数器是否是 A B 两个通道的脉冲上下边缘都计数 (即 4 分频)。
  QEIVelcityConfigure()有关于4分频的内容,但这个是
速度捕获部分的配置操作。
   使用了QEIPositionGet() 得到的返回指总是为 0   值。
   示例代码和其他的例程代码也都没有这方面的说明,只有关于速度捕获的简单示例代码, 在此发帖请教大家如何正确配置这个 A B 两通道 上下边缘都计数的正交编码器位置计数模式。希望大家能提供帮助。

回帖(2)

何夏庄

2020-4-10 10:43:50
感谢楼上的,其实 QEIConfigure()我已选择了QEI_CONFIG_CAPTURE_A_B,又仔细看了手册,确实是上下边缘都计数的方式,我顶上的问题是 我已经按要求配置了QEI   ,而且用QEIPositionSet() 设置的数,用QEIPositionGet() 能正确的再读出来,可就是用QEIPositionGet() 得不到编码器旋转时的位置数,似乎QEI 硬件还是没有启动对脉冲计数。 所以请教有过实践的,提示下详细配置QEI 的步骤 和示例代码以参考。
举报

何夏庄

2020-4-10 11:06:13
自己折腾了几天,终于搞通了,现在看看配置不算复杂。
 配置步骤如下:
...............
//QEI0
SysCtlPeripheralEnable(SYSCTL_PERIPH_QEI0);
GPIOPinTypeQEI(GPIO_PORT?_BASE, GPIO_PIN_? | GPIO_PIN_?);
GPIODirModeSet(GPIO_PORT?_BASE, GPIO_PIN_?, GPIO_DIR_MODE_HW);
GPIODirModeSet(GPIO_PORTF_BASE, GPIO_PIN_?, GPIO_DIR_MODE_HW);
GPIOPinConfigure(GPIO_P?_PHA0);  //  开始漏了这句,卡了好久
GPIOPinConfigure(GPIO_P?_PHB0);// 开始漏了这句,卡了好久
QEIConfigure(QEI0_BASE,
             (QEI_CONFIG_CAPTURE_A_B | QEI_CONFIG_NO_RESET |
              QEI_CONFIG_QUADRATURE | QEI_CONFIG_NO_SWAP ),  xxxxxxx);                  
QEIEnable(QEI0_BASE);
SysCtlDelay(200);
....................
举报

更多回帖

发帖
×
20
完善资料,
赚取积分