PWM

STM32如何使用脉冲捕获?

发布于 2019-12-03 22:35:02
RT-Thread没有脉冲捕获吗?我想使用STM32,通过霍尔传感器得到脉冲频率,来计算汽车的车速,没有头绪不知道该怎么实现。

查看更多

关注者
0
被浏览
691
10 个回答
tyustli
tyustli 2019-12-04
输入捕获是有的,但是目前只有源码
adminmin
adminmin 2019-12-04
tyustli 发表于 2019-12-4 08:44
输入捕获是有的,但是目前只有源码
https://github.com/RT-Thread/rt-thread/blob/master/components/drive ...


看了源码不知道该怎么办。官方文档中提到了脉冲编码器设备,stm32的好像有,先看看这个。
adminmin
adminmin 2019-12-11
刚开始学习,文档中的Pulse Encoder满足不了要求,好像是AB相的那种编码器设备吧,一个TIM一个编码器设备。但是我需要10个霍尔传感器接入,只需要获得脉冲就好。还是希望有脉冲捕获设备,STM32CubeMX中一个TIM配置的Input Capture direct mode可以是4个,完全够用。
hichard
hichard 2019-12-11
这个问题,应该问ST去,都不属于rtt了
whj467467222
whj467467222 2019-12-12
hichard 发表于 2019-12-11 21:55
这个问题,应该问ST去,都不属于rtt了

九爷的回答真是一针见血:lol
adminmin
adminmin 2019-12-12
hichard 发表于 2019-12-11 21:55
这个问题,应该问ST去,都不属于rtt了


一楼说只有源码,我看了下,也就是RTT是有这个组件的,但是在BSP中没有找到对应的驱动实现,难道说ST提供的HAL库无法实现设备驱动,那就真的没办法了
hello
hello 2020-05-08
adminmin 发表于 2019-12-12 12:55
一楼说只有源码,我看了下,也就是RTT是有这个组件的,但是在BSP中没有找到对应的驱动实现,难道说ST提供 ...


现在有驱动了,不过我还没试,等我试了再来回答
adminmin
adminmin 2020-05-21
hello 发表于 2020-5-8 17:18
现在有驱动了,不过我还没试,等我试了再来回答


自己实现了一个驱动,用的stm32f103。搞定8路PWM加9路脉冲捕获,已经运行在项目中,效果还可以。
RickFlying
RickFlying 2020-05-28
RTT没有提供完善的设备驱动来对接定时器的编码器工作模式,不过为什么不直接配置HAL库,初始化定时器为编码器模式呢?并且可以开启上升沿和下降沿都检测计数的功能,这样就变相的两倍频提高精度了。配置好之后,导出到组件自动初始化。然后HAL库获取脉冲计数值的函数简单封装一下,直接在线程里面调用不是更快更方便么?
RTT提供的设备加驱动配合menuconfig确实好用,但是局限性也很大,也很臃肿。出了问题调试调转都比较麻烦。
如果是freeRTOS或者uCos,没有设备层的概念,不也是直接配置驱动,然后线程里调用么?
使用RTOS,贵在灵活。
TJDI_7391
TJDI_7391 2020-05-29
adminmin 发表于 2020-5-21 15:04
自己实现了一个驱动,用的stm32f103。搞定8路PWM加9路脉冲捕获,已经运行在项目中,效果还可以。 ...


请问可以提供demo参考一下么 麻烦了 谢谢

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友