Stm8l051x timer 库函数的使用

2020-01-13来源: eefocus关键字:Stm8l051x  timer  库函数

Stm8l051x 有5个定时器,其中timer1为16bit的优先定时器,timer2,timer3、timer5为16bit的通用定时器,timer4为8bit的基准定时器(详情查看datasheet),官方的库函数里面也提供这5个定时器接口给我们使用,具体如何使用这些定时器,具体步骤如下(以timer3 为例):


1、在配置初始化定时器首先要确保定时器未被初始化,这需要我们先删除定时器:


      Void TIM3_DeInit(void)


2、使能指定的外设定时器:


      void CLK_PeripheralClockConfig(CLK_Peripheral_TypeDefCLK_Peripheral, FunctionalState NewState);


      参数1:指定外设定时器名


      参数2:使能状态


3、初始化指定的外设定时器


      voidTIM3_TimeBaseInit(TIM3_Prescaler_TypeDef TIM3_Prescaler,


             TIM3_CounterMode_TypeDefTIM3_CounterMode,


                                   uint16_t TIM3_Period)


      参数1:分频系数


      参数2:计数类型


      参数3:计数周期(以计数多少为一个周期)


 


      周期T的计算方式:1 / 晶振频率 / 分频系数


      多长时间触发定时器中断:T * 计数周期


4、使能指定的外设定时器中断:


      void TIM3_ITConfig(TIM3_IT_TypeDef TIM3_IT, FunctionalStateNewState)


      参数1:指定外设定时器名


      参数2:使能状态


5、ARR 指定外设定时器初始化


      void TIM3_ARRPreloadConfig(FunctionalState NewState)


      参数1:使能状态


6、初始化计数器


      void TIM3_SetCounter(uint16_t Counter)


      参数1:初始化计数器值


7、使能定时器相关的命令


      void TIM3_Cmd(FunctionalState NewState)


8、当获取到定时器中断后,我们需要重新初始化计数器和挂起中断


      voidTIM3_SetCounter(uint16_t Counter)


       voidTIM3_ClearITPendingBit(TIM3_IT_TypeDef TIM3_IT)


 


9、TIM3初始化函数如下:


       voidTimer3Init(void)


      {


              TIM3_DeInit();


 


             CLK_PeripheralClockConfig(CLK_Peripheral_TIM3,ENABLE);


             TIM3_TimeBaseInit(TIM3_Prescaler_128,TIM3_CounterMode_Up, 60000);


             TIM3_ITConfig(TIM3_IT_Update, ENABLE);


             TIM3_ARRPreloadConfig(ENABLE);


 


              TIM3_SetCounter(0);


              TIM3_Cmd(ENABLE);


}


 


11、TIM3的中断入口在stm8l15x_it.c文件中的:


      INTERRUPT_HANDLER(TIM3_UPD_OVF_TRG_BRK_USART3_TX_IRQHandler,21)



关键字:Stm8l051x  timer  库函数 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic485482.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM8S003外部中断识别机械式编码器正反转
下一篇:STM8L051单片机,外部时钟初始化

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

stm8L15x EEPORM学习笔记
键   这个字节是由软件(所有模式)编写的。它在读取时返回0x00。Flash register map and reset valuesFlash寄存器映射和重置值FlagStatus FLASH_GetFlagStatus(FLASH_FLAG_TypeDef FLASH_FLAG){  FlagStatus status = RESET;  assert_param(IS_FLASH_FLAGS(FLASH_FLAG));    /* Check the status of the specified flash flag*/  if((FLASH->
发表于 2019-12-20
stm8L15x EEPORM学习笔记
STM8L051X系列RTC的低功耗应用
很久没在CSDN写博客了,最近有点空学习了STM8L051F3这块低功耗单片机。这次做的东西,其主要应用在于控制电源的开关断操作。主要用到的外设有RTC,PWR,AWU,ADC,WWDG等。整体的功能我先大致介绍一下,这样的话也方便大家理解下面的程序。首先利用RTC的闹钟中断来控制在指定时间段电源的开关断操作,ADC用来检测电量小于一定百分比的时候关闭电源,WWDG用来监控程序,串口用来打印调试信息,AWU用来实现10分钟自动唤醒。功能介绍完了,下面开始开始逐步介绍每个功能模块的具体实现。RTC闹钟中断功能:从上面的图中可以看出时钟源有HSE,HSI,LSE,LSI四种选择方式,但为了RTC时钟的准确性应选择外部晶振作为时
发表于 2019-12-19
STM8L051X系列RTC的低功耗应用
STM8L051x SPI Master
STM8L051x SPI作为Master 使用在这里我使用STM8L051x SPI作为Master,ads1293作为slave,使两者进行通信。1、查看STM8L051x 的datasheet 中SPI的master模块介绍如下:时钟相位如下:查看ads1293 的datasheet中SPI 介绍如下:由STM8L051x 与ads1293 的SPI 的介绍,我们可以得出ads1293在时钟为低电平时的第一个上升沿传输与获取数据,所以时钟相位都分别设置为SPI_CPOL_Low、SPI_CPHA_1Edge。2、对于STM8L051x 中的SPI 作为 master来说,我们只需要配置好输入引脚(SDI)、输出引脚(SDO
发表于 2019-12-12
STM8L051x SPI Master
STM8L15X 硬件I2C调试总结
最近接到一个项目需要使用STM8L上硬件I2C与SN3731通信,用户方是个方案商,硬件设计人员也没留测试点,直接就把板子焊了拿来了。调试时除了swio口能用所有都不能用,硬件设计大概是为了显得自己焊接技术牛B吧,调试用的板子用0402的封装,IC除了找不到QFN的曲阿布都用的QFN,做项目时不能说,在这里我先问候一下他娘亲。,,,。这块板子经过大量的补焊终于可以上电出时序了。调试STM8的硬件I2C master 注意一下几点,可以少走弯路:1、需要配置GPIO引脚为GPIO_Mode_Out_OD_HiZ_Slow或fast,如果要提高抗干扰能力,完全可以配置为推挽输出模式的,我使
发表于 2019-11-25
STM8L151x IWDG总结
STM8L的看门狗:(1)  使用内部的低速时钟(LSI):38K,同时设置了4-256的分频,所以可以设置时间为0.1ms-1724.63ms;(2)IWDG_KR=0XCC 使能,IWDG_KR = 0XAA喂狗  ,IWDG_KR = 0X55允许访问IWDG_PR(预分频) 和 IWDG_RLR(看门狗初始值)void IWDG_Init(void){   CLK_LSICmd(ENABLE);    while (CLK_GetFlagStatus(CLK_FLAG_LSIRDY) == RESET);   
发表于 2019-11-12
基于msp430Timer_A定时器的LED
相信学过430的朋友对Timer_A应该不陌生吧,反正我是难忘了,感觉学的比stm32的定时器都吃力啊,看起来简单,但是,,,就是学起来吃力,怪我咯!闲话少说,今天我就来总结一下我学习Timer_A的痛苦经历。首先,我们要知道Timer_A的基本结构吧: 总结起来就两点:16位的定时/计数器3个捕获/比较寄存器然后,我们来看看它的基本特征  总结如下: 支持多多个捕获/比较同时工作支持PWM波的输出支持输出时间间隔拥有多种中断,如溢出中断,捕获/比较中断在然后,我就我这个项目要用到的知识跟大家讲一下,其余的知识呢,,,,啥,你给我糖,我也懒的讲(傲娇)那么,首先是定时器A,要工作,是不是
发表于 2020-01-18
基于msp430Timer_A定时器的LED
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved