- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 STM32 系列复习微 Controller 。 (具体使用STM32F072BDISCOVERY板)。
我在理解计时器的使用及其各种模式时遇到了一些麻烦。具体来说,“输出比较”(OC)模式有很多选项,“PWM”模式有其他选项。 RM0091 引用手册的编写好像它们是两种不同的交替操作模式。我也在使用新的 HAL 驱动程序,并且有不同的 API 可以使用 OC 与 PWM。
但是,在我看来,PWM 基本上是输出比较功能的子集/用例,其中定时器 channel 配置为直接驱动硬件输出。
我缺少的 OC 和 PWM 模式之间是否存在明显区别? PWM波形产生方式是怎样的不是 输出比较功能?
最佳答案
这个问题很老,但我想知道同样的问题并开始深入研究这个话题。
在 STM32 micro 中,并非所有定时器都实现所有功能。我的帖子基于 STM32F030 定时器 1,这是我认为功能最丰富的 4 channel 实现(或者至少是几年前)。
定时器基本上充当一个计数器,具有多种选项来选择计数器时钟的来源、重置它的内容、周期是什么以及计数器方向。这是它实现的所有额外功能的基础,HAL 驱动程序将其称为时基。计数器功能本身与定时器 channel 无关。
STM32 定时器中实现了 1-6 个 channel 。这些 channel 可以独立配置,或者在某些情况下成对配置(用于正交编码器模式等功能)。
一个 channel 可以配置为输入捕捉或输出比较。输入捕捉“监听”某个事件并将时基计数器保存在 CCRx 寄存器中。输出比较将计数器寄存器与 CCRx 寄存器中给定的设定值进行比较。
所有简单的 IC/OC 模式和额外的功能,如 PWM 输入、输出、霍尔效应传感器接口(interface),都建立在这两种模式之上,它们各自的选项位作用于各种输入/输出多路复用器,以及关于 OC 模式基本上根据比较器输出(CNT = CCRx,CNT > CCRx)告诉硬件要采取什么行动。
在这种情况下,PWM 模式让输出模式 Controller 在计数器寄存器复位(更具体地说,更新事件)时返回到 CNT <= CCRx 状态,而在其他 OC 模式下,输出模式 Controller 会忽略此信号并且可以手动复位,或通过外部信号复位。输出信号是 OCxREF 信号,然后在到达输出引脚之前通过更多硬件。如果它完全输出,因为您可以不将定时器连接到输出引脚。
STM32 定时器很复杂。它们有许多逻辑 block 和大量配置寄存器/位,所以我可能错过了一些东西或完全误读了一些东西。请随时纠正我。
关于microcontroller - 输出比较和脉冲宽度调制功能有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25631168/
我想执行 BPSK 调制并用 Java 绘制调制信号。但我无法弄清楚。 我已经成功地对信号进行了编码,但是当我将载波和基带信号相乘然后绘制它时,我得到了一个尴尬的信号。 出于绘图目的,我使用了 JFr
我在 Octave 中使用以下代码来实现正弦消息和方波载波的频率调制。 %script to make a squarewave carrier modulated with a sinusoidal
我如何调制 Web Audio API 中的任何 AudioParams,例如使用低频振荡器的 GainNode 的增益值? 最佳答案 https://coderwall.com/p/h1jnmg v
我目前正在创建一个卫星地面站, future 几个月将用于控制我们的立方体卫星。使用的调制方案是 GFSK,波特率为 9600。在尝试通过直接连接流程图中的 tx 和 rx block 与卫星通信之前
我是一名优秀的程序员,十分优秀!