STM32输出比较模式和PWM模式

发布者:yunhui最新更新时间:2017-10-25 来源: eefocus关键字:STM32  比较模式  PWM模式 手机看文章 扫描二维码
随时随地手机看文章

1.两者关系:

其实完全可以理解为PWM模式为输出比较模式的特殊形式,pwm模式在对应定时器上的四个通道产生的频率是同步的(即相同的),而输出比较模式在四个通道可以产生的频率不同。

2.pwm很多是周期固定改变占空比来应用的,当然也有改变频率的,改变占空比修改的是CCR1寄存器,而改变频率则是arr分频器。

3.STM32含有影子寄存器(即起实际作用的寄存器)有TIMx_ARR自动重装载寄存器和TIMx_CCR捕获比较寄存器。

ARR寄存器是用来配置计数器溢出周期(也就是计数器计数最大值,比如定时器使用时周期),也就是定时器定时周期或者作为pwm输出时的周期/频率,而TIMx_CCR捕获比较寄存器则是在作输出时作为计数器响应值,也就是pwm时改变占空比(波形)时使用的。两者应用不同

实际上我们的配置占空比的计算就是(RCC+1)/(ARR+1) 或者(ARR-RCC)/(ARR+1),如果我们在在固定频率下可以更多的改变占空比,那么就psc分频值小些,arr值大些即可

 

4.输出比较或者pwm模式下,端口输出OCx和OCxREF关系:

OCxREF输出,而OCx输出由至于有效电平高低,则由CCxP决定了

以OC1M为例:其定义的是OC1REF的输出,OC1REF有效是定死的为高有效:

      PWM1模式,假如当前OC1REF对应无效电平(OC1REF==0),那么OC1也为无效电平。

当CC1P为0,即OC1为高有效,低无效,那么此时OC1输出就是无效0低电平

当CC1P为1,即OC1为低有效,高无效,那么此时OC1输出就是无效1高电平

简而言之就是:OC1M指的是OC1REF参考电平值,其无效(0)对应OC1时的无效,其有效(1)对应OC1的有效。


关键字:STM32  比较模式  PWM模式 引用地址:STM32输出比较模式和PWM模式

上一篇:STM32使用ADC功能
下一篇:STM32之关于通用定时器的输出比较方式

推荐阅读最新更新时间:2024-03-16 15:41

STM32软件定时器的设计
  定时器分为硬件定时器和软件定时器,几乎所有的微控制器上都配备了数量有限的硬件定时器,即控制器本身有专门实现定时的模块。几乎所有的硬件定时器的工作原理都是一样的:定时器在外部时钟提供的周期脉冲下进行计数工作,当计数到用户指定的次数时,就产生一次中断。这个过程完全由微控制器内部的定时器硬件电路实现,不需要 CPU 干预。   相比之下,软件定时器则需要 CPU 的介入来实现了。实现软件定时器一般有两种方法:一种是纯粹依赖 CPU 指令的堆积来实现;另一种是以硬件定时器产生的时间片为基准单位,CPU 基于这个基准单位进行累积来实现。   显然,硬件定时器的精度取决于驱动的时钟脉冲,一般情况下可以达到很高的精度(纳秒级),而软件定
[单片机]
stm32 adc dma多通道采样 数据错位 的解决方法
解决方法:不要采用连续转换模式 ADC_InitStructure.ADC_ContinuousConvMode = DISABLE; 需要时才实施转换 ADC_SoftwareStartConvCmd(ADC1, ENABLE); 转换后取消转换 ADC_SoftwareStartConvCmd(ADC1, DISABLE); 经过测试能够解决stm32 adc dma多通道采样 数据错位
[单片机]
关于STM32的I2C硬件DMA实现
简介:网上看到很多说STM32的I2C很难用,但我觉得还是理解上的问题,STM32的I2C确实很复杂,但只要基础牢靠,并没有想象中的那么困难。 那么就先从基础说起,只说关键点,不涉及代码。 首先说I2C这个协议:协议包括START、ACK、NACK、STOP。尽管协议中规定START必须,其他几个非必须,但实际上其他三个仍旧非常重要。 主发从收:主 START - 主发地址 - 从 ACK - (主发数据 - 从 ACK (循环)) - 主 STOP 或 主 START 启动下一次传输 这一过程中,主控SCL线,从只在ACK时控SDA线,其他时刻主控SDA线。 主收从发:主 START - 从发地址 - 主 A
[单片机]
STM32单片机内部EEPROM的读写
STM32L系列单片机内部提供了EEPROM存储区域,但实质上,其FLASH也是EEPROM类型,只不过有一块区域被开放出来专门用作EEPROM操作而已。STM32L的EEPROM使用寿命设计为100000次擦写以上,容量为2K-4K,这对于一般设备的参数存储来说是非常理想的。但从EEPROM使用方式看,其不适用于被反复修改的数据存储使用,一般作为配置参数,其修改次数往往是比较少量的。 STM32L的EEPROM和FLASH是统一编址,操作共用同一个读写电路,所以在EEPROM读写的时候STM32L核对于FLASH的一切访问和操作都将暂停,只有当EEPROM的操作完成后,才继续执行后续代码,在这期间只有EEPROM的读写电路工
[单片机]
STM32学习日志——I2C实验
今天学习的是I2C通信实验,I2C是一种两线式串行总线,有数据线SDA和时钟线SCL构成,可发送和接收数据,属于半双工通信。由于要有相同的时钟源,一般用于板内通信。 I2C有几个比较重要的状态:1)空闲状态,即两条线都拉高。2)起始信号:当SCL为高时SDA从高到低的跳变,停止信号:当SCL为高时,SDA从低到高的跳变。3)应答信号:每当发送器发送一个字节的数据时,在第九个脉冲,接收器会反馈一个应答信号ACK,低电平。如果接收器是主控器,则会发送一个非应答信号NACK,高电平,以通知发送方结束数据发送。4)数据有效性:数据必须在SCL的上升沿之前就准备好,并在SCL的下降沿结束前保持稳定。 iic头文件 SDA线需要发送数据
[单片机]
STM32 定时器输出PWM模式
数据手册上TIMx_CCMR1寄存器的6:4位决定了定时器输出PWM的几种模式: 000:冻结。输出比较寄存器TIMx_CCR1与计数器TIMx_CNT间的比较对OC1REF不起作用。即当计数器值与比较值相等时管脚上电平信号保持上一次的信号。 Eg:定时器设置: TIM_TimeBaseStructure.TIM_Period = 1000; // 设置自动重载周期值 TIM_TimeBaseStructure.TIM_Prescaler = 47; // 设置预分频值48分频 TIM_TimeBaseStructure.TIM_ClockDivision = 0; // 设置时钟分割:TDTS = Tck_tim
[单片机]
<font color='red'>STM32</font> 定时器输出<font color='red'>PWM</font>的<font color='red'>模式</font>
STM32直接存储器访问DMA
第一次接触DMA是在学校学习ARM9裸板程序的时候,想起来都时隔快2年了。现在来看看STM32平台的DMA,一样,在标准外设库的支持下,STM32的DMA编程十分简单,但是既是学习,那还是花点时间看看DMA的相关概念及原理的了解下。 1. DMA简介 DMA是Direct Memory Access的简称,是直接存储器访问的意思。DMA是STM32单片机的外设之一,主要功能是用来搬移数据的。通过DMA搬移数据不需要CPU直接参与控制,也不需要中断处理方式那样保留现场和恢复现场。在传输数据的时候,CPU可以干其他事情。 无使用DMA的数据传输: 使用DMA后的数据传输: DMA数据传输支持从外设到存储器、存储器到外设
[单片机]
<font color='red'>STM32</font>直接存储器访问DMA
STM32-FSMC机制的NOR Flash存储器扩展技术
引言 STM32是ST(意法半导体)公司推出的基于ARM内核Cortex-M3的32位微控制器系列。Cortex-M3内核是为低功耗和价格敏感的应用而专门设计的,具有突出的能效比和处理速度。通过采用Thumb-2高密度指令集,Cortex-M3内核降低了系统存储要求,同时快速的中断处理能够满足控制领域的高实时性要求,使基于该内核设计的STM32系列微控制器能够以更优越的性价比,面向更广泛的应用领域。 STM32系列微控制器为用户提供了丰富的选择,可适用于工业控制、智能家电、建筑安防、医疗设备以及消费类电子产品等多方位嵌入式系统设计。STM32系列采用一种新型的存储器扩展技术——FSMC,在外部存储器扩展方面具有独特的优
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved