本篇博文最后修改时间:2016年11月15日,03:03。


一、简介

本文介绍STM8L系列如何使用timer2产生定时中断。

二、实验平台

编译软件:IAR for STM8 1.42.2

硬件平台:stm8l101f3p6开发板

仿真器:ST-LINK

库函数版本:STM8L_STMTouch_Lib_V1.1.0

、版权声明

博主:甜甜的大香瓜

声明:喝水不忘挖井人,转载请注明出处。

原文地址:http://blog.csdn.NET/feilusia

联系方式:897503845@qq.com

香瓜BLE之CC2541群:127442605

香瓜BLE之CC2640群:557278427

香瓜BLE之Android群:541462902

香瓜单片机之STM8/STM32群:164311667
甜甜的大香瓜的小店(淘宝店):https://shop217632629.taobao.com/?spm=2013.1.1000126.d21.hd2o8i

四、实验步骤

1、工程中添加自己写的定时器2的驱动

1)写一个驱动GUA_Timer2.c (存放在工程的USER文件夹中)

//******************************************************************************
//name:             GUA_Timer2.c
//introduce:        定时器2驱动
//author:           甜甜的大香瓜
//email:            897503845@qq.com
//QQ group          香瓜单片机之STM8/STM32(164311667)
//changetime:       2016.11.15
//******************************************************************************
#include "stm8l10x.h"
#include "GUA_Timer2.h"//******************************************************************************
//name:             GUA_Timer2_Init
//introduce:        定时器2初始化
//parameter:        none
//return:           none
//author:           甜甜的大香瓜
//email:            897503845@qq.com
//QQ group          香瓜单片机之STM8/STM32(164311667)
//changetime:       2016.11.15
//******************************************************************************
void GUA_Timer2_Init(void)
{//时钟配置CLK_PeripheralClockConfig(CLK_Peripheral_TIM2,ENABLE);  //1分频,向上计数,每13us定时中断一次 TIM2_DeInit();TIM2_TimeBaseInit(TIM2_Prescaler_1, TIM2_CounterMode_Up, 16*13);     TIM2_ARRPreloadConfig(ENABLE);TIM2_ITConfig(TIM2_IT_Update , ENABLE);TIM2_Cmd(ENABLE);
}

2)写一个驱动头文件GUA_Timer2.h(存放在工程的USER文件夹中)

//******************************************************************************
//name:             GUA_Timer2.h
//introduce:        定时器2驱动的头文件
//author:           甜甜的大香瓜
//email:            897503845@qq.com
//QQ group          香瓜单片机之STM8/STM32(164311667)
//changetime:       2016.11.15
//******************************************************************************
#ifndef _GUA_TIMER2_H_
#define _GUA_TIMER2_H_/*********************外部函数声明************************/
void GUA_Timer2_Init(void);#endif

3)工程中添加GUA_Timer2.c

4)添加驱动的路径

$PROJ_DIR$\..\USER 

注意USER文件夹是与“Project”等文件夹同级的自定义文件,用于存放香瓜写的代码。

2、添加库的驱动

1)添加库的驱动文件

3、写中断服务函数(stm8l10x_it.c中)
1)添加头文件
#include "GUA_Timer2.h"

2)修改定时器2中断服务函数

INTERRUPT_HANDLER(TIM2_UPD_OVF_TRG_BRK_IRQHandler, 19)
{TIM2_ClearITPendingBit(TIM2_IT_Update);
}

暂时没有写任何处理,可自行添加。

4、应用层中调用

1)添加头文件(main.c中)

#include "GUA_Timer2.h"

2)初始化(main.c的main函数中)

  //定时器2初始化GUA_Timer2_Init();  

五、实验结果

设置断点在定时器2的中断服务函数中,仿真并全速运行,会不断地进入中断。具体时间香瓜没有测试,先这样。

因此,实验成功。

【STM8L】STM8L之timer2定时中断相关推荐

  1. 实现定时中断_EPIT 定时器,仅需做到如下几步,即可轻松配置使用

    EPIT 的全称是: Enhanced Periodic Interrupt Timer,直译过来就是增强的周期中断定时器,它主要是完成周期性中断定时的.学过 STM32 的话应该知道, STM32 ...

  2. zynq网络时钟控制寄存器_ZYNQ笔记(6):普通自定义IP封装实现PL精准定时中断...

    软件的定时中断很难控制精准触发沿的位置,可以通过 PL-PS 的中断完成精准的定时中断.PL 的中断通过 Verilog 代码产生,这样紧密结合 PS-PL 的处理,发挥各自的优势. 一.PL 侧定时 ...

  3. stm32工程和算法分享(12)--精准闪烁灯[定时中断]

    stm32工程和算法分享(12)–精准闪烁灯[定时中断] 两种方式 闪烁与定时器同步 利用标志位,定时器设置的时间间隔较小 不要在定时器中断函数写太多语句,我们通常借助标志位来实现 我们设置400ms ...

  4. STM32学习笔记(四)丨TIM定时器及其应用(定时中断、内外时钟源选择)

    本篇文章包含的内容 一.TIM 定时器 1.1 TIM 定时器简介 1.2 TIM 定时器类型及其工作原理简介 1.2.1 基本定时器工作原理及其结构 1.2.2 通用定时器工作原理及其结构 1.2. ...

  5. TIM定时中断(定时器介绍)

    一.TIM简介 TIM(Timer)定时器 定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断 16位计数器.预分频器.自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.6 ...

  6. HCS12XEP100 ATD模块定时中断采样

    //Name:ATD of HCS12XEP100 //Description:多通道采样,开启转换序列完成中断,在中断中完成数据存取: //单次转换模式,通过定时中断触发: //对程序稍作修改还可以 ...

  7. 51定时中断系统控制LED点阵屏显示逐帧动画

    写在前面 最近回头看之前写的文章感到一种很浓的公式感,我确实是提前写好了模板每次都套用,整篇看下来感觉就像是在交老师布置的实验报告,看起来很成熟但实际上背离了自己的初衷,接下来我会尽可能的复现自己在做 ...

  8. EPSON RX8010SJ RTC 调试笔记之五, 固定周期定时中断功能 (Fixed-cycle Timer Interrupt Function)

    硬件: EPSON RX8010 SJ 功能描述: 固定周期定时中断功能 (Fixed-cycle Timer Interrupt Function) 产生一个循环周期的中断事件, 在 244.14u ...

  9. STM32 TIM定时中断

    总体介绍 TIM(Timer)定时器是STM32中功能最强大,结构最复杂的一个外设,以下对其做一下简介(以stm32为例): TIM可以对输入的时钟进行计数,并在数值达到设定值时触发中断. 在STM3 ...

最新文章

  1. 【Java基础】容器
  2. MENUITEMINFO结构的翻译(转)
  3. 《CCNA ICND2(200-101)认证考试指南(第4版)》——第1章定义生成树协议
  4. java jconsole_java中jconsole命令的学习
  5. 计算机学业水平考试及格,信息技术学业水平考试表格部分试题(带答案)
  6. touch 修改文件时间戳,或者新建一个不存在的文件 - 副本
  7. trc20地址监听php,Tron/USDT-TRC20对接PHP开发包 - 人人都是架构师
  8. SAP License:今天你‘牺牲’了吗?
  9. springboot2.0 配置自定义提示功能依赖
  10. mRNA的亚细胞定位
  11. javascript高级程序设计读书笔记——事件总结
  12. [转] 2018年最新桌面CPU性能排行天梯图(含至强处理器)
  13. ISO26262解析(六)——硬件集成测试
  14. 计算机中含有旧的mf驱动程序,打印机驱动在应用时的小窍门
  15. Python list列表查找元素
  16. 空间中直线到平面的距离的公式是什么?
  17. 复制粘贴,快速将Python程序打包成exe
  18. 视频测试软件+视频测试硬件=视频质量测试解决方法+视频测试的重要性
  19. Linux 压缩软件的使用
  20. 如何将mp4转换成gif?教你一招实现视频转gif高清转换

热门文章

  1. iMeta | 林雁冰/James M. Tiedje/谷洁等揭示菌群对寄生植物列当的调控作用
  2. swift block语法
  3. eclispe启动报错
  4. VMware Cloud Foundry –见解
  5. 为什么VDI对核心UNIX®和Linux®工程应用有意义
  6. 人民币贬值速度计算公式及应对措施
  7. 笼统的前端:知识图谱、各分支领域技术要点和推荐工具
  8. 平安好医生与近50家大型医院合作共建“互联网医院”
  9. 如何打造运营商级的超高清强互动直播业务?
  10. 如何在Samsung Galaxy设备上禁用快速充电(以及为什么要这样做)