历史上的今天
返回首页

历史上的今天

今天是:2025年06月28日(星期六)

2018年06月28日 | stm32f407之PWM(操作寄存器)

2018-06-28 来源:eefocus

脉宽调制模式可以生成一个由TIMx_ARR寄存器的值确定频率和TIMx_CCRx寄存器的值确定占空比的信号。


脉宽调制模式可以生成一个由TIMx_ARR寄存器的值确定频率和TIMx_CCRx寄存器的值确定占空比的信号。


可以对每个通道独立选择PWM模式,( OCx输出一个PWM信号)在TIMx_CCMRx寄存器的OCxM位写110(PWM模式1)或111(PWM模式2)。必须通过设置TIMx_CCMRx寄存器的OCxPE位,启用相应的预装载寄存器,最后还要设置TIMx_CR1寄存器的ARPE位,(在向上计数或中心对称模式中)使能自动重装载的预装载寄存器。


仅当发生一个更新事件的时候,预装载寄存器才能被传送到影子寄存器,因此在计数器开始计数之前,必须通过设置TIMx_EGR寄存器中的UG位来初始化所有的寄存器。


OCx的极性可以通过软件在TIMx_CCER寄存器中的CCxP位设置,它可以设置为高电平有效或低电平有效。TIMx_CCER寄存器中的CCxE位控制OCx输出使能。详见TIMx_CCERx寄存器的描述。

 

 

配置步骤:

1.     使能相关时钟。

2.     配置相关的引脚模式、速度、以及复用功能。

3.     使能TIM时钟

4.     设置分频。

5.     设置周期。(ARR的值)周期=(PSC+1)* ARR / TIMx时钟

6.     产生一次更新事件,更新影子寄存器的值。

7.     在CCMR中设置PWM模式。

8.     设置各通道占空比。占空比= CCRx / ARR。

9.     使能比较输出。

10.  启动预装载。

11.  打开定时器。



程序:

/************************************
    标题:输出4路PWM
    软件平台:IAR for ARM6.21
    硬件平台:stm32f4-discovery
    主频:168M
    
    author:小船
    data:2012-02-08
*************************************/

#include  

void main ()
{   

  SCB->AIRCR = 0x05FA0000 | 0x400;  //中断优先级分组 抢占:响应=3:1
  
  RCC->AHB1ENR |= (1<<2); //打开GPIOC时钟
  GPIOC->MODER |= 0X000AA000;//pc6789第二功能
        //推挽输出
  GPIOC->OSPEEDR |= 0x000ff000;//速度100m
  GPIOC->PUPDR |= 0x00055000;//上拉  
  
  GPIOC->AFR[0] |= 0x22000000;//pc6789第二功能AF2
  GPIOC->AFR[1] |= 0x00000022;
  
  RCC->APB1ENR |= (1<<1); //打开TIM3时钟
  TIM3->PSC = 83; //对时钟84M进行84分频,使得计数频率为1M
  TIM3->ARR = 10000;  //周期10ms
  TIM3->EGR |= 1; //产生一次更新事件
  
  TIM3->CCMR1 |= 0x6060;//PWM模式1
  TIM3->CCMR2 |= 0x6060;//PWM模式1
  
  TIM3->CCR1 = 8000;//设置第一通道占空比80%
  TIM3->CCR2 = 6000;//设置第二通道占空比60%
  TIM3->CCR3 = 4000; //设置第三通道占空比40%
  TIM3->CCR4 = 2000; //设置第四通道占空比20%
  
  TIM3->CCER |= 0x1111;//使能比较输出
  
  TIM3->CCMR1 |= 0x0808;//启动预装载
  TIM3->CCMR2 |= 0x0808;
  
  TIM3->CR1 |= 1; //开始计时

  while(1)
  {
  };
}


推荐阅读

史海拾趣

广东爱晟电子(exsense)公司的发展小趣事

面对日益激烈的市场竞争和不断变化的市场需求,爱晟电子始终坚持以创新驱动发展。公司不断投入研发资金,加强研发团队的建设,推动技术的不断进步和创新。同时,公司还积极探索新的应用场景和市场领域,为未来的发展奠定了坚实的基础。这些努力使得爱晟电子在电子行业中保持了持续的发展势头和竞争力。

Hirose Electric公司的发展小趣事

面对日益激烈的市场竞争和不断变化的市场需求,爱晟电子始终坚持以创新驱动发展。公司不断投入研发资金,加强研发团队的建设,推动技术的不断进步和创新。同时,公司还积极探索新的应用场景和市场领域,为未来的发展奠定了坚实的基础。这些努力使得爱晟电子在电子行业中保持了持续的发展势头和竞争力。

EPIGAP公司的发展小趣事

随着公司业务的不断拓展,EPIGAP公司意识到单靠自身力量难以应对日益复杂的市场环境。于是,公司开始积极寻求与产业链上下游企业的战略合作。通过与原材料供应商、代工厂商以及终端客户的紧密合作,EPIGAP公司实现了产业链的整合优化,提高了整体运营效率。这一战略不仅降低了公司的运营成本,还增强了公司的市场竞争力。

CHENMKO公司的发展小趣事

EPIGAP公司非常重视创新文化的建设。公司鼓励员工提出新的想法和创意,并为员工提供充分的支持和资源。此外,EPIGAP还积极引进和培养人才,建立了一支高素质、专业化的研发团队。这支团队在公司的发展历程中发挥了至关重要的作用,不断推动公司产品的升级换代和技术创新。

Autonics公司的发展小趣事

作为一家具有社会责任感的企业,Autonics不仅注重经济效益的发展,还积极参与公益事业和环保活动。公司致力于推动绿色生产,减少对环境的影响。同时,Autonics还关注员工福利和社会贡献,为员工提供良好的工作环境和发展空间,积极回馈社会。这些举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实基础。

以上五个故事仅是对Autonics公司发展起来的一些重要阶段的概括性描述,并未涉及具体的细节和内部信息。如需了解更多关于Autonics公司的发展历程和故事,建议查阅相关新闻报道、行业分析报告或公司官方网站。

中环(Central)公司的发展小趣事

中环公司的前身可以追溯到1958年成立的天津市半导体材料厂。随着技术的不断进步和市场需求的增长,公司在1978年开始涉足区熔单晶硅制造领域,并于1981年正式进入太阳能单晶硅制造领域,成为国内最早涉足光伏领域的企业之一。这一转变不仅体现了中环对市场趋势的敏锐洞察,也为其后续在光伏领域的发展奠定了坚实的基础。

问答坊 | AI 解惑

24c16读取出现奇怪的问题,很让人恼火

型号 24c16a 27pu,用10k电阻上拉,一直处于非写保护状态 用了两个EEPROM,最初一切正常,读写一段时间后都有类似以下情况出现 第0页第一次读取数据正常,再读取一次得到乱码 第1页读取正常 第2页第一次读取乱码,再读取一次正常 有几页写入后 ...…

查看全部问答>

有明白人么,谢谢

先谢谢,3个问题: 1、南北桥芯片、声卡、网卡、显卡、显示器、硬盘上的电路板、键盘、打印机哪些是外设,那些是i/o控制器。 2、适配器、i/o控制器、i/o接口电路是一个概念么?如果不是,他们3者的区别和联系是什么? 3、驱动程序是用来控制 ...…

查看全部问答>

关于bsp工程vxworks组建的添加问题

目前在编译BSP工程的时候遇见下面的错误: In file included from ..\\prjConfig.c:117: C:\\Tornado2.2\\target\\config\\comps\\src\\net\\usrNetShow.c:24: `RT_DISPLAY_MEMORY\' undeclared   here (not in a function) C:\\Torn ...…

查看全部问答>

sysgen问题

自己在BSP中添加的驱动,以前单独build时没有问题。 今天sysgen一下,compile到这个驱动目录时,出现了很多错误,而且全部是系统头文件的问题,如下: \\cesysgen\\sdk\\inc\\windef.h(54) : error C2054: expected \'(\' to follow \'c\' \\ces ...…

查看全部问答>

MDK 设置入口点

我用MDK编写的启动代码,运行很正常。可是我一旦引入一些c代码后,入口地址就不在是启动代码了。     0x00000000   0x0000032c   Code   RO            6  ...…

查看全部问答>

开发板串口连仪表,无法接收数据

我用的是mini2440开发板,用外扩的串口与仪表相连,无法接收数据。而用计算机与仪表连时有乱码,开发板与计算机连时数据正常接收,请问为什么开发板与仪表串口连时数据怎么接收啊!!!…

查看全部问答>

arm开发新手的问题

打算搞嵌入式,最近琢磨了下。想请教各位大侠,如果我自己学习嵌入式,需要的arm开发板具体型号是多少?需要买LCD 吗?还要买数据线吗?要准备什么书呢? 还有,怎么才能顺利的从webJava开发工作转到嵌入式方向呢?…

查看全部问答>

有沈阳的吗?

沈阳有化工商品吗?我想整点盐酸,和 双氧水…

查看全部问答>

有802.11人才吗?

著名法国公司北京研发中心招聘以下职位,以组建新团队。 需4年相关经验 有意者请联系wopafeng@hotmail.com 1.Senior RF engineer (Antenna) – 802.11n(若干名) 2.Technical leader – 802.11n(若干名) 嵌入式,Linux 3.(Senior) So ...…

查看全部问答>

51内核与STM8的变量存储区间的定义?

像51中,对于变量的访问方式有data、idata、xdata、code; 那在IAR下的STM8的访问关键字是哪些呢?这个在51代码移植到STM8下遇到了这个 问题,虚心请教大家。 我在手册中看到四个寻址指针定义 分别是tiny、near、far、huge,那我如果快速 ...…

查看全部问答>