
STM32
文章平均质量分 88
蜗牛快跑丫
十年饮冰,难凉热血
展开
-
关于STM32定时器时钟的频率问题
今天用HAL库开发,使用cubemx软件配置时钟,如图所示。看右侧可以知道APB1时钟是42MHZ,APB2时钟是84MHZ,然后需要配置定时器2,通过查看库函数,找到这代码。定时器2是挂载在APB1上的,所以我认为频率应该是42HMZ,然后配置100us中断,500ms使用LED反转,发觉实际LED250ms反转一次,然后查手册,看到这段话。现在APB1的预分频器为4分频,所以APB...原创 2019-07-17 14:15:43 · 3973 阅读 · 0 评论 -
STM32CubeMX和HAL库踩坑记——DMA+TIM输出比较模式
STM32CubeMX和HAL库踩坑记——DMA+TIM输出比较模式1、CubeMX配置1.1 基本设置1.2时钟配置1.3 具体配置2 代码2.1使能2.2调试2.3中断回调函数目的:让单片机输出一段可调频率的脉冲,用于驱动步进电机。方案:1、使用定时器溢出中断,定时中断一次,在中断通过判断来翻转IO口。优点:实现比较简单,对硬件要求不高。缺点:不适合高速脉冲输出,而且脉冲分辨率也很低。...原创 2019-08-05 15:44:18 · 22783 阅读 · 23 评论 -
STM32CubeMX和HAL库踩坑记——DMA+TIM输出比较模式(续集)
-----时隔一日,本次在上一次的代码中加入了一点小技巧。这个项目中有两个电机驱动器设置为6400脉冲一圈,而且电机带了64减速箱,所以需要640064个脉冲才能让电机转一圈,如果按照上一次的做法,让电机转一圈至少需要在单片机开辟640064*2个16位的空间,贼恐怖的内存占用量。----- 但是这两个电机不需要调速,而且速度固定,一个电机为另外一个电机转速的1/2,通过小技巧来修改下程序,最终...原创 2019-08-07 14:50:03 · 6010 阅读 · 3 评论 -
STM32CubeMX和HAL库踩坑记——定时器输出比较模式多路同时启动异常
同一个定时器输出比较模式多路同时启动异常解决方法问题出现之前使用输出比较模式控制步进电机加减速,当多个步进电机同时运行的时候会出现第二个电机无法运行的情况。多次测试,如果第一个电机运动结束再启动第二个电机,那么两个电机都可以正常运动;若在第一个启动后再启动第二个则第二个电机不能运动。问题debug经过调试器的调试,发现启动完第一个电机后定时器状态会变成忙碌,如图所示。所以HAL库会自动...原创 2019-09-12 17:42:10 · 4037 阅读 · 2 评论