我是靠谱客的博主 结实山水,最近开发中收集的这篇文章主要介绍timer定时器中断,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

注意:

①TCMPBn的值用于脉冲宽度调制(PWM)。 当递减计数器值与定时器控制逻辑中比较寄存器的值匹配时,定时器控制逻辑将更改输出电平。 因此,比较寄存器确定PWM输出的开启时间(或关闭时间)。此时不会产生定时器中断,只会使得输出电平发生反转。

②每个定时器都有自己的16位递减计数器,由定时器时钟驱动。 当递减计数器达到零时,将产生定时器中断请求,以通知CPU定时器操作已完成。当计时器计数器达到零时,相应的TCNTBn的值将自动加载到递减计数器中,以继续进行下一个操作。 但是,如果定时器停止运行(例如,通过在定时器运行模式期间将TCONn的定时器使能位清零),则不会将TCNTBn的值重新加载到计数器中。因此,此时当递减计数器减小到0时,可以产生定时器中断。

 

  1. 定时器具有TCNTBn,TCNTn,TCMPBn和TCMPn。
  2. 当定时器到0时,将TCNTBn和TCMPBn装入TCNTn和TCMPn。
  3. 当TCNTn到0时,中断 如果中断使能,将发生请求。

为了使如果再添加中断不再修改中断服务程序,可以采用函数指针的方式注册各个中断处理函数,其格式如下:

中断注册函数:

将需要注册的中断号、中断处理函数放入中断数组中,并使能相应位的中断位。当调用中断处理函数时,直接从函数数组中调用相应的函数。

 

最后

以上就是结实山水为你收集整理的timer定时器中断的全部内容,希望文章能够帮你解决timer定时器中断所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部