完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
背景介绍
笔者在最近的项目中需要同时使用STM8L单片机的多个定时器。STM8L系列单片机定时器4(TIM4)相关的例程很多,稍微修改一下也能用,但是定时器1(TIM1)相关的用法介绍就很少,某些例程根本就无法正常工作。基于此,笔者将STM8L的定时器用法介绍一下,并给出参考代码。 调试环境 硬件:STM8L151K4T6最小系统板 IDE:IAR for STM8 (v7.14版本) 烧写工具:STVP 简介 STM8系列单片机包括三种类型的定时器。一种是16位高级控制型定时器,功能较为强大,可以实现定时、计数、外部PWM输出、输入捕获等多种功能,典型的有TIM1;第二种为通用型16位定时器,典型的有TIM2、TIM3;第三种是8位基本型定时器,主要是指TIM4。这里我们只使用到定时器的最基本的定时功能,并使用TIM4和TIM1来举例说明。 TIM4使用方法 首先是最基础的8位定时器TIM4,寄存器介绍请参考数据手册。这里只介绍初始化的步骤:
//TIM4初始化 void Init_Timer4(void) { CLK_PCKENR1=0x04; //L系列外设时钟默认关闭,需打开 TIM4_EGR=0x01; //计数器更新,可省略 TIM4_PSCR=0x07;//分频值(2^7)/8M=16us,16us*255*122=500ms TIM4_CNTR=255;//计数器值 TIM4_ARR=255;//自动重装的值 TIM4_CR1=0x01;//使能计数器 TIM4_IER=0x01;//更新中断使能 } //TIM4中断处理函数 #pragma vector=TIM4_UIF_vector __interrupt void TIM4_UIF_IRQHandler(void) { i++; TIM4_SR1=0x00; if(i==122) { LED_PORT^=1;//亮灯验证TIM4正常工作 i=0; } } TIM1使用方法 //TIM1初始化 void Init_Timer1(void) { CLK_PCKENR2 = 0x02; //L系列外设时钟默认关闭,需打开 //TIM1_EGR=0x01; //计数器更新 TIM1_PSCRH=0x1F;//分频值 8m/(1F3F+1)= 1000Hz=1ms TIM1_PSCRL=0x3F;//分频值 TIM1_ARRH=0;//自动重装的值 TIM1_ARRL=0x31;//自动重装的值 49*1ms=49ms,频谱测试50ms TIM1_CNTRH=0;//计数器值 TIM1_CNTRL=0x31;//计数器值 TIM1_IER=0x01;//更新中断使能 TIM1_CR1=0x01;//使能计数器 } //TIM1中断处理函数 #pragma vector=TIM1_OVR_UIF_vector __interrupt void TIM1_OVR_UIF_IRQHandler(void) { i++; TIM1_SR1=0x00; if(i==10) { LED_PORT^=1;//异或 i=0; } } |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1777 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1621 浏览 1 评论
1080 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
728 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1678 浏览 2 评论
1937浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
731浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
570浏览 3评论
595浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
554浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 02:24 , Processed in 0.816328 second(s), Total 49, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号