历史上的今天
返回首页

历史上的今天

今天是:2024年08月31日(星期六)

2020年08月31日 | stm8s开发(五) TIMER的使用:定时!

2020-08-31 来源:eefocus

  STM8S提供三种类型的TIM 定时器:高级控制型(TIM1)、通用型(TIM2/TIM3/TIM5)和基本型定时器(TIM4/TIM6)。它们虽有不同功能但都基于共同的架构。此共同的架构使得采用各个定时器来设计应用变得非常容易与方便(相同的寄存器映射,相同的基本功能)。

    

 

  使用定时可以确定一个时间片,方便控制发送速率,采样速率,等等一些对时间要求比较高的任务,而这些操作可以放入定时器中断里面执行。这次的例子,定时1s,让LED灯翻转一次,达到2s闪烁一次的效果。由于定时操作简单,我们使用基本定时器:TIMER4

  void Init_Timer4(void)

  {

  //128分频 256计数,在16MHz下是2.048ms一次中断!

  //128分频 256计数,在128KHz下是256ms一次中断!

  TIM4_CR1=0x00;//关闭计数器

  //TIM4_IER=0x00;

  TIM4_IER=0x01;//更新中断使能

  TIM4_EGR=0x01;

  TIM4_CNTR=255;//计数器值

  TIM4_ARR=255;//自动重装的值

  TIM4_PSCR=0x07;//分频值

  TIM4_CR1=0x01;//使能计数器

  }

  值得注意的是,如果我们使用16M为主时钟的话,通过最大分频和最大计数,我们也最多能达到2.048ms的定时时间。同理,使用128K为主时钟的话,最多能达到256ms的定时时间。

  接下来是定时终端函数,在函数中我们可以其他操作:

  u16 i=0;

  #pragma vector = TIM4_OVR_UIF_vector //0x19

  __interrupt void TIM4_OVR_UIF_IRQHandler(void)

  {

  i++;

  TIM4_SR=0x00;

  if(i==488) //2.048*488=1000ms

  {

  LED_Reverse();

  i=0;

  }

  }

  这里变量 i 用于计算进入中断的次数,如果我们需要1s翻转LED一次的话,则需要进入中断488次。

  当中断返回后, 定时器会自动重载:(TIM4_ARR=255;//自动重装的值)

  定时器定时时间与计数器的值有关:(TIM4_CNTR=255;//计数器值)

  同时也和分频值有关:(TIM4_PSCR=0x07;//分频值)

  开启个关闭寄存器只需要修改TIM4_CR1寄存器:(TIM4_CR1=0x00;//关闭计数器 TIM4_CR1=0x01;//使能计数器 )


推荐阅读

史海拾趣

CCS[Custom Computer Services]公司的发展小趣事

在电子行业的早期,CCS公司凭借其出色的研发能力,成功开发出一款具有革命性的计算机服务软件。这款软件不仅大幅提高了计算机的运行效率,还为用户提供了更加便捷的操作体验。凭借这一技术创新,CCS公司迅速在市场中崭露头角,赢得了大量客户的青睐。随着技术的不断迭代和升级,CCS公司始终保持在行业前沿,逐渐发展成为电子行业的领军企业。

Diodes Incorporated公司的发展小趣事

近年来,Diodes Incorporated的财务表现稳步提升。根据公司公布的财报数据显示,公司归母净利润持续增长,营业收入也保持着稳定的增长态势。这一成绩的取得,得益于公司对产品质量的严格把控、对市场需求的精准把握以及对新技术的持续投入。同时,公司还通过优化生产流程、降低生产成本等措施,进一步提升了盈利能力。

Fanstel公司的发展小趣事

Fanstel公司深知人才是企业发展的关键因素。因此,公司一直注重人才的培养和引进。公司建立了完善的人才培养机制,为员工提供各种培训和学习机会,帮助他们提升自身素质和能力。同时,Fanstel还积极引进高端人才,打造了一支具有丰富经验和专业技能的研发团队。这些人才的加入为公司的技术创新和产品研发提供了有力支持。

巨盛电子(Chesen)公司的发展小趣事

随着国内市场的饱和,巨盛电子(Chesen)开始寻求国际化发展。公司制定了一系列国际化战略,包括拓展海外市场、建立海外生产基地、与国际品牌合作等。通过这些努力,巨盛电子成功进入了欧美、东南亚等市场,实现了品牌的全球化布局。同时,公司还积极与国际品牌合作,共同开发新产品,提高了品牌知名度和市场份额。

Electric Imp Inc.公司的发展小趣事

随着第一款产品的成功,Electric Imp Inc.公司开始积极拓展市场。公司与多家知名厂商建立了合作关系,将物联网设备管理平台应用于智能家居、工业自动化、智慧城市等领域。同时,公司还加强了与高校、科研机构的合作,共同研发新技术、新产品。这些努力使得公司在物联网领域的影响力逐渐扩大。

EWC Controls公司的发展小趣事

EWC Controls公司非常重视人才培养和团队建设。公司建立了一套完善的人才培养体系,通过内部培训、外部引进等方式吸引和培养了一批高素质的人才。同时,公司还注重团队合作和文化建设,鼓励员工之间的交流和合作,营造了积极向上的工作氛围。这种人才培养和团队建设的策略为公司的发展提供了有力的保障。

问答坊 | AI 解惑

简易数控直流电源论文

简易数控直流电源论文简易数控直流电源论文…

查看全部问答>

【Labview】Labview的官方入门指南

做为菜鸟的亲们,这个不妨看看 (Chinese)…

查看全部问答>

Tcpmp0.72 A4(atlas IV) Wince6.0 上crash的问题

之前已有类似的帖子,但没有答案~~请高手解决~~…

查看全部问答>

关于做RAID5 的问题,懂这方面的高手帮我一下,很急的一个问题!!!

我要在dell 2600 服务器上做RAID5 ,现在要加入三块硬盘,请问如何来做RAID5???? 1、这三块硬盘加入服务器中,有特殊的要求,与普通PC机器加入硬盘一样吗??? 2、该服务器支持做RAID5吗?,比如需要什么硬件,有什么要特别关注的地方?? ...…

查看全部问答>

初学arm问问题-arm 中断 和 异常 问题

ARM中断的问题         ARM的七种异常类型         ---------         1> 复位异常         2> 数据访问中止异常         3> ...…

查看全部问答>

CCS3.1 载入程序时的问题

Unexpected Fated Error Encountered which may have been caused by a stack overflow out of memory condition, or access violating, I am try and save your work before terminating this application 在下载*.out 后 提示这个问题 点击以后 ...…

查看全部问答>

【求助】请各位大侠指点

请各位大侠给指点一下: 我在用MSP430做一个智能温度控制器,现在P1口连接着一个4X4的键盘,只要一按键就进入中断,我希望在中断里改变一个全局变量的值,可是不知道为什么这个值怎么都带不出来。请各位高人指点一二。…

查看全部问答>

解答FPGA工程师面试第7.8.9题(每日一题)

今天抽点时间上第七题: 你知道哪些常用的逻辑电平?TTL与CMOS电平可以直接互连吗? 常用逻辑电平:TTL、CMOS、LVTTL、LVCMOS、ECL(Emitter Couple Logic)、PECL(PSEUDO/POSITIVE EMITTER COUPLED LOGIC)、LVDS(LOW voltage differential sign ...…

查看全部问答>

胶水脱泡机 ( WH-1000 )

技术参数:最高转速: 3000RPM/MIN最大离心力: 2500(g)适用针管: 20ml, 30ml, (可依据客户要求订做)定时范围: 0~99min电源: 220V50Hz输入功率: 90W外型尺寸: 440×437×245mm(L×W×H)噪音:<75Db重量: ...…

查看全部问答>