完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
stm32f10x最多有8个定时器,stm32f103zet6就有8个定时器,分别是4个通用定时器,2个高级定时器,2个基本定时器。
[tr]定时器种类 位数计时器模式产生DMA请求捕获/比较通道互补输出特殊应用场景[/tr][tr] 高级定时器 (TIM1,TIM8) [td]16[tr] 通用定时器 (TIM2~TIM5) [td]16[tr] 基本定时器 (TIM6,TIM7) [td]16
通用定时器可以向上计数,向下计数,向上向下双向计数模式通用定时器工作过程简略 定时器的时钟选择有内部时钟(APB1),外部时钟(2,3,4号定时器可以使用),其他定时器(ITRn)或者定时器通道(TIn)。 ITRn:定时器会产生一个TRGn的时钟发送到其他定时器作为ITRn或者发送到DAC/ADC。 TIn:来自TIMx_CHn引脚的电平,通过滤波和边沿检测等后产生的信号 引脚输入的电平除了作为TIn以外,还会经过选择、预分频,当捕获到上升沿(可以设置为下降沿)时,捕获/比较寄存器就会把CNT计数器中的值记下来,通过这种方法可以方便地测量脉冲地宽度。 每个定时器都有4个独立的通道,要么用作输入捕获,要么用作输出比较。输出比较的功能比如,CNT计数器会跟捕获/比较寄存器中的值进行比较,如果更大通道输出高电平,更小通道输出低电平。 如果选择内部时钟APB1,那么APB1的预分频系数为1则通用定时器时钟为36MHz,APB1的预分频系数不为1,那么就为72MHz。 TIMx_PSC的预分频系数在此基础上再进行分频。 常用库函数: void TIM_TimeBaseInit();//初始化void TIM_Cmd();//使能void TIM_ITConfig();//中断使能FlagStatus TIM_GetFlagStatus();//标志位获取void TIM_ClearFlag();//标志位清除ITStatus TIM_GetITStatus();//中断标志位获取void TIM_ClearITPendingBit();//挂起状态标志位清除 定时器中断实现步骤:
|
||||
|
||||
只有小组成员才能发言,加入小组>>
3308 浏览 9 评论
2988 浏览 16 评论
3490 浏览 1 评论
9049 浏览 16 评论
4080 浏览 18 评论
1167浏览 3评论
601浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
592浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2328浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1892浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-17 02:06 , Processed in 1.185358 second(s), Total 81, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号