智能车制作

标题: STM32F4演示例程之PWM初始化 [打印本页]

作者: demon    时间: 2012-5-20 23:52
标题: STM32F4演示例程之PWM初始化
[attach]24765[/attach]
/************************************
    标题:输出4路PWM
    软件平台:IAR for ARM6.21
    硬件平台:stm32f4-discovery
    主频:168M
   
    author:小船
    data:2012-02-08
*************************************/
#include <stm32f4xx.h>
void main ()
{   
  SCB->AIRCR = 0x05AF0000 | 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;//设置占空比
  TIM3->CCR2 = 6000;
  TIM3->CCR3 = 4000;
  TIM3->CCR4 = 2000;
  
  TIM3->CCER |= 0x1111;//使能比较输出
  
  TIM3->CCMR1 |= 0x0808;//启动预装载
  TIM3->CCMR2 |= 0x0808;
  
  TIM3->CR1 |= 1; //开始计时
  while(1)
  {
  };
}


作者: 0726silence    时间: 2012-5-21 12:50
顶,正打算学32 的
作者: wqxlp    时间: 2013-5-15 10:38
好东西,收藏了以后再用
作者: 知识阅览者    时间: 2013-9-30 08:58
楼主太好了,共享免费资料,强烈顶一个。




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2