历史上的今天
今天是:2024年12月10日(星期二)
2018年12月10日 | STM32F107的通用定时器中断实验总结
2018-12-10 来源:eefocus
1. STM32F107的通用定时器是指: TIM2、TIM3、TIM4、TIM5、
STM32F107的高级定时器是指: TIM1、TIM8
STM32F107的基本定时器是指: TIM6、TIM7
2. STM32F107的通用定时器(TIM2、TIM3、TIM4、TIM5)的模式有向上计数、向下计数、中央对齐模式。
向上计数模式:计数器从0计数到自动加载值(TIMx_ARR),然后重新从0开始计数并且产生一个计数器溢出事件。
向下计数模式:计数器从自动装入的值(TIMx_ARR)开始向下计数到0,然后从自动装入的值重新开始,并产生一个计数器向下溢出事件。
中央对齐模式(向上/向下计数):计数器从0开始计数到自动装入的值-1,产生一个计数器溢出事件,然后向下计数到1并且产生一个计数器溢出事件;然后再从0开始重新计数。
3. STM32F107的通用定时器的时钟选择有多种,一般使用RCC提供的内部时钟TIMxCLK, 由APB1时钟分频提供。
4. 状态标志位获取和清除
FlagStatus TIM_GetFlagStatus(TIM_TypeDef* TIMx, uint16_tTIM_FLAG);
void TIM_ClearFlag(TIM_TypeDef* TIMx, uint16_t TIM_FLAG);
ITStatus TIM_GetITStatus(TIM_TypeDef* TIMx, uint16_tTIM_IT);
void TIM_ClearITPendingBit(TIM_TypeDef* TIMx, uint16_tTIM_IT);
定时器中断实现步骤:
1. 定时器时钟使能。 RCC_APB1PeriphClockCmd();
2. 初始化定时器,配置ARR,PSC。 TIM_TimeBaseInit();
3. 开启定时器中断,配置NVIC。 void TIM_ITConfig(); NVIC_Init();
4. 使能定时器。 TIM_Cmd();
5. 编写中断服务函数。 TIMx_IRQHandler();
1) TIM_TimeBaseStructure.TIM_ClockDivision这一行代码是干吗的啊
CKD[1:0]: 时钟分频因子 (Clock division) 这2位定义在定时器时钟(CK_INT)频率、死区时间和由死区发生器与数字滤波器(ETR,TIx)所用的采样时钟之间的分频比例。 00: tDTS = tCK_INT01 : tDTS = 2 x tCK_INT10: tDTS = 4 x tCK_INT 11 :保留,不要使用这个配置
用来屏蔽一些不需要的毛刺的。比如你数字滤波器的频率为1M,N=8,则频率大于1MHz/8=125KHz(持续时间小于8us)的脉冲都会被忽略。可以用在按键消抖之类的。
上一篇:STM32定时器周期计算
史海拾趣
|
在读startup.s的代码时碰到几句像下边的语句 add r0, pc, #MEMCTRLTAB - (. + 8) add r11, pc, #g_oalAddressTable - (. + 8) 这里边的(. + 8)是 ...… 查看全部问答> |
|
因為沒有GPIB接口的線,所以我用RS232線代替 MSComm1.Settings = \"9600,n,7,1\" If MSComm1.PortOpen True Then MSComm1.PortOpen = True End If MSComm1.Output =\"*RST\" strinput = MSComm1.Input T ...… 查看全部问答> |
|
兄弟们,推荐一款\"IC刷卡模块\",能接在s3c2440开发板(预装WinCE5.0),即ARM9做控制。 1. IC刷卡模块一般用什么接口与s3c2440开发板连接; 2. 请给出产品连接或产品名; 3. 哪位兄才做过刷卡考勤的,能否给点思路或资料(重分)。 谢谢!… 查看全部问答> |
|
之前学习51的基础(如果是指熟悉寄存器和基本编程的话),那算是差不多了。 于是开始正儿八经考虑选一款什么芯片用。 前不久让MSP430刺激了,可是这玩意不好弄,价格也贵。而且不熟。 然后调转枪头,看51,知道了很强大的C8051F,可是,它貌似也 ...… 查看全部问答> |
|
选择QEMU是因为QEMU开源、比较完备,支持的种类多,开发社区也活跃而用QEMU来调试一些东西也非常方便。如何编译最新版的QEMU(当前是0.14.0 rc1)下载QEMU 0.14.0 rc1版本后,如果是在linux下,按照通常的源程序,./configure --target-list=arm-so ...… 查看全部问答> |
|
今天面试闹的一个让我苦笑不得的大笑话,老总,问我什么是TTL电平,什么是CMOS电平,它们有什么区别? 我紧张到考都不用考虑就说:TTL就是0和1;当时老总笑了,我回答过后才发现自己才胡扯,真的弄的我苦笑不得呀,这是最基本的,平常没注意这些 ...… 查看全部问答> |
|
迅雷下载地址: http://downloads.ti.com/download ... baf395a2d4f99e5d518… 查看全部问答> |




