历史上的今天
今天是:2025年03月20日(星期四)
2018年03月20日 | STM32单片机的通用定时器定时时间的计算
2018-03-20 来源:eefocus
STM32中的定时器有多种,按功能分成2个高级控制器定时器,4个普通定时器,2个基本定时器,2个看门狗定时器,1个系统滴答定时器SysTICk。
定时器的关键是定时时间的计算。比如用定时器控制继电器的开关的时候,需要延时一段时间才关闭或者开启,这时候离不开定时器定时。
通用定时器定时时间计算。1秒中断的基本实现:
通用定时器模块的入口时钟经过分频得到计数器的时钟,用CK_CNT表示,预分频器的系数为:TIMx_PSC,当TIMx_PSC=0时,表示不分频,=1时,2分频。以此类推。
公式为:CK_CNT=fclk_PSC/(PSC[15:0]+1),其中PSC最大为65535.
其次是TIM5计数器的计数值的设置,TIM5计数器以CK_CNT为时钟来计数。计数到设定值产生中断。
(1/分频后计数时钟)*计数值=设定时间。以1秒为例
(1/(72MHz/7200))*10000=1s
初始化通用定时器的一个重要的结构体TIM_TimeBaseInitTypeDef
typedef struct
{
u16 TIM_Period; //自动装载的计数值,
u16 TIM_Prescaler; //分频值,当为0时表示不分频所以要减1.
u8 TIM_CLOCkDivision;//设置时钟分割,
u16 TIM_CounterMode; //向上,向下等计数模式
} TIM_TimeBaseInitTypeDef;
初始化结构体后调用函数
void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef * TIM_TimeBaseInitStruct) 初始化TIMx定时器时间基数单位。
其次还要清除中断待处理位,函数void TIM_ClearITPendingBit(TIM_TypeDef* TIMx, u16 TIM_IT) 做了这项工作。其中TIM_IT:待检查的 TIM 中断待处理位 。
史海拾趣
|
本课程介绍了嵌入式系统的前沿技术和发展趋势,重点讲述了基于ARM微处理器的嵌入式硬件平台、嵌入式操作系统(RTlinux)和嵌入式软硬件系统开发技术。 采用理论学习和实践并重的教学方法,着重培养学生的实际动手能力,通过熟悉开发环境与开发流程 ...… 查看全部问答> |
|
打印信息中出现WARN: OALIoCtlHalGetHWEntropy: Buffer too small 打印信息中出现WARN: OALIoCtlHalGetHWEntropy: Buffer too small 之后就是乱码了 是怎么回事啊 该如何解决这个问题啊 ?… 查看全部问答> |
|
如果接收的节点开启了Autoack的选项,cc2420会对所有正确接收的包进行硬件的自动回复,这时候的ack包发送端能收到吗?会被发送端的地址过滤给过滤吗?如果不会,怎么来判断是否是刚才发送的数据包的ack呢,光靠dsn不能保证的吧… 查看全部问答> |
|
我现在在做cmmb解复用的东西,cmmb视频数据是用模式2封装的,H264的nal单元被封装在复用净荷中,文档中说复用净荷和RTP净荷一一对应,可是我照文档中的说法做解出来的H264数据播放不了,现在只有北京530的605播放不了,这个台是清流台,希望高手能 ...… 查看全部问答> |
|
pxa270 + spi + wifi 问题!!!急!!!!在线等!!!!! 现在用岭仪的WIFI 硬件平台为PXA270 接口为SPI 目前系统初始化完SPI,然后读WIFI的ID可以正常通过 但是到加载固件时 函数static int sbi_download_wlan_fw_image(const u8 *firmware, int firmwarelen)下 有时:   ...… 查看全部问答> |
|
本人在CAN节点,之前在BASI模式下,SJA1000是可以正常初始化的;但我现在要用到PELI模式下的自检功能去检测单个节点硬件电路是否正常,但是在PELI模式下SJA1000无法正常读写,导致初始化不成功,请高人指点 #define SJA_BaseAdr 0xFF00 //定义sja1 ...… 查看全部问答> |
|
工信部电子信息司副巡视员关白玉日:年内将公布多项LED产业国家标准 工信部电子信息司副巡视员关白玉日前表示,L E D照明是新兴产业,今年将有多项国家标准和行业标准完成报批程序予以发布,同时还有一批标准在研究制定过程中。她是在20日中国照明学会举办的“首届L E D普通照 ...… 查看全部问答> |




