14、嵌入式系统中定时器与PWM的配置及应用详解

嵌入式系统中定时器与PWM的配置及应用详解

定时器的设置与理解

定时器的设置是特定于处理器的,通常用户手册会指导你完成每个寄存器的设置。不同处理器的用户手册可能会给寄存器取略有不同的名称。要理解如何使用定时器,查看芯片供应商的示例代码是个不错的方法,这些代码通常包含了以各种方式配置定时器的示例。你应该对照数据手册逐行分析示例代码,以确保理解定时器的配置方式。

有些处理器可能允许仅在定时器溢出时触发定时器操作,而不是使用比较寄存器。这相当于一个隐式匹配值,即2的定时器寄存器位数次方减1(例如,对于8位定时器,(2^8) – 1 = 255)。通过调整预分频器,大多数定时器值都可以在误差不大的情况下实现。

定时器配置的数学计算

定时器用于处理物理时间尺度,因此需要将一系列寄存器与实际时间关联起来。要记住,频率(如10 Hz)与周期(如0.1秒)成反比。

中断频率、时钟输入、预分频器和比较寄存器之间的基本关系方程为:
interruptFrequency = clockIn / (prescaler * compare)

这是一个优化问题,已知时钟输入(clockIn)和目标中断频率(interruptFrequency),需要调整预分频器和比较寄存器,直到中断频率接近目标值。若没有其他限制,这是个容易解决的问题,但实际情况并非总是如此。

数值的位数

变量能拥有的不同值的数量是2的位数次方(例如,8位可提供2^8,即256个不同值)。不过,这个数值还需包含0,所以8位无符号变量的最大值是2^8 – 1,即255。而有符号变量会用一位表示符号(+/-),所以8位有符号变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值