记录stm32F4discovery板利用stm32cubemx实现串口的usart_IAP功能全过程

蓝麒深挚 回复了问题 • 16 人关注 • 16 个回复 • 5823 次浏览 • 2018-07-05 16:11 • 来自相关话题

鉴于好多人问,分享个24C64的HAL库文件和使用操作(利用硬件库iic)

小帅o同学 回复了问题 • 7 人关注 • 9 个回复 • 4668 次浏览 • 2018-07-01 20:14 • 来自相关话题

利用stm32cubemx移植freemodbus代码分享,片子是stm32F407,记录整个调试过程,供大家参考

gcrisis 回复了问题 • 68 人关注 • 28 个回复 • 20198 次浏览 • 2018-06-26 21:47 • 来自相关话题

(转)基于STM32Cube库的Timer捕获应用

admin 发表了文章 • 0 个评论 • 230 次浏览 • 2018-06-14 09:19 • 来自相关话题

当使用Timer做捕获输入时,有时候需要将捕获得到的数据通过DMA方式写到定义好的数据或数组中,本文将详细介绍使用CubeMX配置PWM捕获功能,用户可以直接得到输入的PWM信号的频率以及占空比,Cube库可以很方便配置。实验过程中,当配置超过两个以上的Timer通道DMA时会遇到一些问题,本文也对其进行了说明并给出了解决方案。Timer2的PWM信号捕获功能√使用Timer的IC1,IC2两个捕获输入通道,两个通道的外部管脚输入配置为相同TI1通道;√两个通道的捕获输入极性,一个为Active,另外一个为Inactive;√其中一个TI1FP1作为触发输入,从模式配置为复位模式;√这样CCR1为PWM输入的频率值,CCR2为占空比值(正/负)。使用STM32CubeMX对外设进行初始化配置:Step1: TIM1的输出PWM波作为捕获输入的被测信号,输出管脚为PA8Step2: TIM2的输入管脚为PA5(CH1)Step3: 配置TIM2的输入捕获参数Step4: 捕获数据直接通过DMA方式保存到RAM变量Update_Value1和Update_Value2。Step5: 测试读取到的CCR1、CCR2的数据与Update_Value1、Update_Value2对应,PWM波的频率和占空比都可以捕获得到。实验过程要点提示在stm32f3xx_hal_tim.c库文件中的HAL_TIM_IC_Start_DMA函数中会将状态置忙。但在函数结尾配置完毕后没有将该状态位复位,如果客户在其用户程序中使用了这个函数,这会导致该状态位始终为忙,后续任何对该状态的判断配置都将无法执行:因此需要在函数的最后将状态复位:本文小结本文重点介绍利用STM32CubeMX初始化配置工具和STM32Cube库如何通过TIMER的捕获功能完成对频率、占空比的测试,同时我们对如何解决实验过程中遇到的一些问题,做了特别提示。我们知道STM32Cube库非常庞大,虽难尽善尽美,但一定会越来越强大、越来越完善。本文转自:https://mp.weixin.qq.com/s/e2M22gpqFmOKee36MFe9oQ感谢ST人的分享和付出! 查看全部

当使用Timer做捕获输入时,有时候需要将捕获得到的数据通过DMA方式写到定义好的数据或数组中,本文将详细介绍使用CubeMX配置PWM捕获功能,用户可以直接得到输入的PWM信号的频率以及占空比,Cube库可以很方便配置。

实验过程中,当配置超过两个以上的Timer通道DMA时会遇到一些问题,本文也对其进行了说明并给出了解决方案。

Timer2的PWM信号捕获功能


使用Timer的IC1,IC2两个捕获输入通道,两个通道的外部管脚输入配置为相同TI1通道;

两个通道的捕获输入极性,一个为Active,另外一个为Inactive;

其中一个TI1FP1作为触发输入,从模式配置为复位模式;

这样CCR1为PWM输入的频率值,CCR2为占空比值(正/负)。

webwxgetmsgimg.jpg


使用STM32CubeMX对外设进行初始化配置:


Step1: TIM1的输出PWM波作为捕获输入的被测信号,输出管脚为PA8

Step2: TIM2的输入管脚为PA5(CH1)

webwxgetmsgimg (1).jpg

Step3: 配置TIM2的输入捕获参数

webwxgetmsgimg (2).jpg

Step4: 捕获数据直接通过DMA方式保存到RAM变量Update_Value1和Update_Value2。

webwxgetmsgimg (3).jpg

Step5: 测试读取到的CCR1、CCR2的数据与Update_Value1、Update_Value2对应,PWM波的频率和占空比都可以捕获得到。


webwxgetmsgimg (4).jpg


实验过程要点提示


在stm32f3xx_hal_tim.c

库文件中的HAL_TIM_IC_Start_DMA函数中会将状态置忙。

webwxgetmsgimg (5).jpg

但在函数结尾配置完毕后没有将该状态位复位,如果客户在其用户程序中使用了这个函数,这会导致该状态位始终为忙,后续任何对该状态的判断配置都将无法执行:

webwxgetmsgimg (6).jpg

因此需要在函数的最后将状态复位:

webwxgetmsgimg (7).jpg

本文小结

本文重点介绍利用STM32CubeMX初始化配置工具和STM32Cube库如何通过TIMER的捕获功能完成对频率、占空比的测试,同时我们对如何解决实验过程中遇到的一些问题,做了特别提示。我们知道STM32Cube库非常庞大,虽难尽善尽美,但一定会越来越强大、越来越完善。



本文转自:https://mp.weixin.qq.com/s/e2M22gpqFmOKee36MFe9oQ


感谢ST人的分享和付出!

CAN的Loopback模式例程的设置及程序分析

虎扑最大的吊 回复了问题 • 6 人关注 • 7 个回复 • 3510 次浏览 • 2018-06-10 19:56 • 来自相关话题

记录:利用U盘直接烧录hex文件到flash来更新app程序

翻滚吧小乌龟 回复了问题 • 23 人关注 • 14 个回复 • 4946 次浏览 • 2018-05-28 15:10 • 来自相关话题

hal库uc1701液晶LCD12864驱动程序移植

孟津精益电器维修 回复了问题 • 6 人关注 • 7 个回复 • 3861 次浏览 • 2018-05-25 11:54 • 来自相关话题

多路扫描AD转换,用DMA传输的例子(用STM32CUBEMX)

qwer13579246 回复了问题 • 50 人关注 • 31 个回复 • 20456 次浏览 • 2018-05-24 16:21 • 来自相关话题

(直播)利用stm32cubemx实现USBDFU对芯片程序的更新升级(板卡stm32f4discovery)

无帝老三 回复了问题 • 31 人关注 • 19 个回复 • 10905 次浏览 • 2018-05-24 15:51 • 来自相关话题

stm32cube中文教程1:软件设置,点亮led灯,并实现流水灯效果(HAL_GPIO_TogglePin)

村中小孩 回复了问题 • 39 人关注 • 13 个回复 • 18016 次浏览 • 2018-05-19 19:18 • 来自相关话题

(分享)在Cube的Hal库做IO口的GPIO组处理方法!一次操作读写多IO端口方法

admvip73 回复了问题 • 12 人关注 • 10 个回复 • 7527 次浏览 • 2018-04-23 17:04 • 来自相关话题

终于利用stm32cube生成了usb虚拟串口程序并初步调试通过,分享代码和配置先!!

备羽飞龙 回复了问题 • 70 人关注 • 29 个回复 • 40332 次浏览 • 2018-04-12 16:18 • 来自相关话题

利用stm32cube实现USB+FATFS的usbdisk程序--实现Fatfs对U盘文件操作

caoenq 回复了问题 • 50 人关注 • 23 个回复 • 11556 次浏览 • 2018-03-25 16:34 • 来自相关话题

分享一个由串口uart接收命令,来动态调整tim定时器pwm模式脉冲宽度的小实验

不穿辣条吃秋裤i 回复了问题 • 40 人关注 • 18 个回复 • 8949 次浏览 • 2018-03-05 10:04 • 来自相关话题

抛砖引玉:一步一步Hal库学习usb虚拟串口功能CDC或者叫VCP

星期五 回复了问题 • 40 人关注 • 22 个回复 • 25112 次浏览 • 2018-03-03 19:05 • 来自相关话题