随笔分类 - 单片机
摘要:【问题】STM32F103的APB1最大总线时钟是AHB总线时钟的1/2,最大为36MHz,在用ST的库函数(v2.0)的时候,TIM2(普通定时器)的时钟频率为72MHz,不知道原因何在?【问题分析】STM32中有多达8个定时器,其中TIM1和TIM8是能够产生三对PWM互补输出的高级定时器,常用于三相电机的驱动,它们的时钟由APB2的输出产生。其它6个为普通定时器,时钟由APB1的输出产生。下图是STM32参考手册上时钟分配图中,有关定时器时钟部分的截图:从图中可以看出,定时器的时钟不是直接来自APB1或APB2,而是来自于输入为APB1或APB2的一个倍频器,图中的蓝色部分。下面以定时器
阅读全文
摘要:判断按键的上升沿或者下降沿,自带消抖功能,很好用。具体方法为定义两个变量PreVal,CurVal来记录按键IO的电平值,在定时器中断中加入如下代码:Interrupt_Process(){ static PreVal=0,CurVal=0; CurVal=KeyIO; if((!CurVal)&&PreVal) //检测下降沿IsKeyPressed=1; PreValence=CurVal;}定时器的中断间隔一般取50ms至100ms,具体可以实验得出。
阅读全文
摘要:STM32的定时器是个强大的模块,定时器使用的频率也是很高的,定时器可以做一些基本的定时,还可以做PWM输出或者输入捕获功能。时钟源问题:名为TIMx的有八个,其中TIM1和TIM8挂在APB2总线上,而TIM2-TIM7则挂在APB1总线上。其中TIM1&TIM8称为高级控制定时器(advanced control timer).他们所在的APB2总线也比APB1总线要好。APB2可以工作在72MHz下,而APB1最大是36MHz。定时器的时钟不是直接来自APB1或APB2,而是来自于输入为APB1或APB2的一个倍频器。下面以定时器2~7的时钟说明这个倍频器的作用:当APB1的预分
阅读全文

浙公网安备 33010602011771号