历史上的今天

今天是:2024年09月28日(星期六)

2021年09月28日 | STM8S(105K4)使用笔记——TIM4的基础配置

发布者:快乐心跳 来源: eefocus关键字:STM8S  TIM4  基础配置 手机看文章 扫描二维码
随时随地手机看文章

0、通过TIM4实现类似STM32的uwTick功能

通过TIM4计时产生中断,每毫秒执行一次uwTick++。


1、设置TIM4分频与自动重装载值

设置TIM4分频

  /* 1分频 */

  TIM4->PSCR = (uint8_t)0x00;

  /* 2分频 */

  TIM4->PSCR = (uint8_t)0x01;

  /* 4分频 */

  TIM4->PSCR = (uint8_t)0x02;

  /* 8分频 */

  TIM4->PSCR = (uint8_t)0x03;

  /* 16分频 */

  TIM4->PSCR = (uint8_t)0x04;

  /* 32分频 */

  TIM4->PSCR = (uint8_t)0x05;

  /* 64分频 */

  TIM4->PSCR = (uint8_t)0x06;

  /* 128分频 */

  TIM4->PSCR = (uint8_t)0x07;


设置TIM4自动重装载值

  /* TIM4_Period为需要设置的自动重装载值 */

  TIM4->ARR = (uint8_t)(TIM4_Period);


TIM4计时触发公式

TIM4_Period= (time * TIM4_Counter_Clock - 1);

TIM4_Period 为设置的自动重装载值

time 为TIM4触发所需时间(s)

TIM4_Counter_Clock 为TIM4频率,等于主频率Fmaster/TIM4分频值(hz)

2、配置TIM4更新中断使能

  /* 配置更新中断使能 */

  TIM4->IER |= (uint8_t)0x01;

  /* 配置更新中断禁止 */

  TIM4->IER &= (uint8_t)(~0x00);


推荐在使能更新中断前清除可能产生的更新中断标志


  TIM4->SR1 = (uint8_t)(~0x01);


3、使能TIM4

  /* 使能TIM4 */

  TIM4->CR1 |= (uint8_t)(0x01);

  /* 禁用TIM4 */

  TIM4->CR1 &= (uint8_t)(~0x01);

  /* 使能中断 */

  enableInterrupts();


4、设计全局uwTick

  #define SYS_MAX_DELAY 0xFFFFFFFFU

  __IO uint32_t uwTick;

  /**

   * @brief  auto plus by Time4 , 1 per ms

   * ----------------

   */

  void SYS_IncTick(void)

  {

      uwTick++;

  }


  /**

   * @brief  get uwtick

   * ----------------

   */

  uint32_t SYS_GetTick(void)

  {

      return uwTick;

  }


  /**

   * @brief  delay

   * ----------------

   */

  void SYS_Delay(__IO uint32_t Delay)

  {

      uint32_t tickstart = SYS_GetTick();

      uint32_t wait = Delay;


      /* Add a period to guarantee minimum wait */

      if (wait < SYS_MAX_DELAY)

      {

          wait++;

      }


      while ((SYS_GetTick() - tickstart) < wait)

      {

      }

  }


5、配置软件中断函数

  /* 软件中断函数 */

  INTERRUPT_HANDLER(TIM4_UPD_OVF_IRQHandler, 23)

  {

    SYS_IncTick();

    /* 清除更新中断标志 */

    TIM4->SR1 = (uint8_t)(~0x01);

  }


6、TIM4寄存器简介:

CR控制寄存器

在这里插入图片描述

IER中断使能寄存器

在这里插入图片描述

SR状态寄存器

在这里插入图片描述

EGR事件产生寄存器

在这里插入图片描述

CNTR计数器

在这里插入图片描述

PSCR预分频寄存器

在这里插入图片描述

ARR自动重装载寄存器

在这里插入图片描述

关键字:STM8S  TIM4  基础配置 引用地址:STM8S(105K4)使用笔记——TIM4的基础配置

上一篇:STM8的TIM4定时器1ms进入中断
下一篇:关于STM8S105写EEPROM时产生的TIM中断问题

推荐阅读

区块链技术带来的提升,或许可以实现全面社会主义! (本文干货在后面) 2个月前。很多人多次被EOS项目刷屏,内容是主网TPS(每秒交易速度)的不断提升,最后好像到了4千左右。而近几天,又是PChain(PAI)项目发文,称TPS测试网峰值过了12万。 这中间还有MATRIX AI Network(MAN)实验室TPS达到了5万,并经过第三方权威机构测试认证。 (知识点:全...
目前,谷歌翻译或其它在线翻译工具,都可以让用户输入一个外语词组或者一段话,就可以得出近似人工翻译的结果。但是,许多专家甚至是谷歌本身都告诫用户在完成复杂工作时,不要依靠流行的谷歌翻译等在线翻译工具。谷歌建议用户不要用机器翻译取代人工翻译。然而,美国政府已决定使用谷歌翻译和其他机器翻译工具,来决定是否应允许难民进入美国。共享给非营...
据俄罗斯电视台报道,一名加拿大人在发布的一段视频显示,夜色中,一只四条腿的黄色机器人在人行道上游荡,拍摄视频的人惊呆了,但他们还是选择友好地跟它打招呼。这只机器狗将头转向了拍摄者。这段视频在社交平台上播放量超千万,引起了人们热议。有的人在夸赞技术炫酷,有的人则说自己感到恐惧,强烈抨击机器人技术。视频截图该视频在网上引起了许多讨论...
当汽车产业高速拥抱电气化的进程中,电池成为了新能源汽车举足轻重的一部分,其重要性甚至超过了传统燃油车的发动机。因为电池在相当程度上,决定了新能源汽车的续航里程、安全性、稳定性、成本等等。而与燃油车时代,发动机的动力与能耗总是充当天平的两端,新能源车电池的两种主流电芯材料也是各有各的“为难”。当各大厂家面对三元锂或者磷酸铁锂材料,...

史海拾趣

问答坊 | AI 解惑

IC卡汽车管理系统的开发

IC卡汽车管理系统的开发…

查看全部问答∨

GPIO<数字:数字>是什么意思

这个数字表示的是位数吗?…

查看全部问答∨

如何枚举出同级的所有驱动设备地址?

如何枚举出同级的所有驱动设备地址? 比如:DEVICETREE中 Driver\\Kbdclass       \\Device\\keyboardclass0       \\Device\\keyboardclass1       \\Device\\keyboardclass2 ...…

查看全部问答∨

承接电子设计(单片机)项目

承接电子设计(单片机)项目 (一)、PCB LAYOUT(2层 or 4层) 老牛承接专业抄板、画板,质优价廉,可每天查看画板进度,有问题及时沟通。 可加我QQ看画过的样板,因为老牛是个人接活,所以价钱肯定比抄板公司低,希望各位同行有活之余多多照顾。 ...…

查看全部问答∨

视图列表中的项是一个.txt文件,怎么打开并显示出来

做一个程序,可以把CF卡内某文件夹内的若干.txt文件显示在视图列表中,现在想实现将任意一个.txt文件打开并显示文件中的内容。应该怎么做? 用什么函数怎么实现? 谢谢大家!!…

查看全部问答∨

LF2407 CMD问题

我的CMD文件: -STACK 40     MEMORY     {       PAGE 0:   /*程序空间*/               VECS:  origi ...…

查看全部问答∨

德州仪器(TI)多串高功率LED参考设计

$(\'swf_mXL\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', encodeURI(\'http://player.youku.com/player.php/sid/XMjY1NzQ4NDE2/v.sw ...…

查看全部问答∨

关于DSPbuilder在数字信号处理中的作用

请问各位同仁,现在使用FPGA实现数字信号处理时,比如设计FIR滤波器、实现FFT、自适应滤波等方面好像基于DSPbuilder的越来越多。那么我请问凡用代码编写的例子都能够通过DSPbuilder模块搭建吗?现在还需要去琢磨以前的书籍上完全用代码写的例子吗? ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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