标题: stm32小车四路PWM输出测试程序 [打印本页]

作者: 夏有一木    时间: 2017-8-14 03:45
标题: stm32小车四路PWM输出测试程序
小车PWM控制速度

单片机源程序如下:
  1. #include "timer.h"
  2. #include "delay.h"

  3. //TIM3 PWM部分初始化
  4. //PWM输出初始化
  5. //arr:自动重装值
  6. //psc:时钟预分频数
  7. void TIM3_PWM_Init(u16 arr,u16 psc)
  8. {                                                         
  9.         RCC->APB1ENR|=1<<1;         //TIM3时钟使能
  10.         RCC->APB2ENR|=1<<2;            //使能PORTA时钟            
  11.         RCC->APB2ENR|=1<<3;            //使能PORTB时钟        

  12.         GPIOA->CRL&=0X00FFFFFF;        //PA6 CH1 PA7 CH2
  13.         GPIOA->CRL|=0XBB000000;        //复用功能输出
  14.         GPIOB->CRL&=0XFFFFFF00;        //PB0 CH3 PB1 CH4
  15.         GPIOB->CRL|=0X000000BB;        //复用功能输出                    
  16.            

  17.         TIM3->ARR=arr;                        //设定计数器自动重装值
  18.         TIM3->PSC=psc;                        //预分频器不分频


  19.         TIM3->CCMR1|=7<<4;          //CH1 PWM2模式                 
  20.         TIM3->CCMR1|=1<<3;             //CH1预装载使能           
  21.         TIM3->CCER|=1<<0;           //OC1 输出使能
  22.             
  23.         
  24.         TIM3->CCMR1|=7<<12;          //CH2 PWM2模式                 
  25.         TIM3->CCMR1|=1<<11;         //CH2预装载使能           
  26.         TIM3->CCER|=1<<4;           //OC2 输出使能
  27.    

  28.         TIM3->CCMR2|=7<<4;          //CH3 PWM2模式                 
  29.         TIM3->CCMR2|=1<<3;             //CH3预装载使能           
  30.         TIM3->CCER|=1<<8;           //OC3 输出使能
  31.    
  32.                
  33.         TIM3->CCMR2|=7<<12;          //CH4 PWM2模式                 
  34.         TIM3->CCMR2|=1<<11;         //CH4预装载使能           
  35.         TIM3->CCER|=1<<12;           //OC4 输出使能

  36.         TIM3->CCR1=3600;               //OC4 输出使能
  37.                  
  38.         TIM3->CCR2=3000;               //OC4 输出使能

  39.         TIM3->CCR3=5400;               //OC4 输出使能

  40.         TIM3->CCR4=5000;               //OC4 输出使能
  41.                            
  42.         TIM3->CR1|=1<<7;               //ARPE使能
  43.         TIM3->CR1|=0x01;            //使能定时器3                                                                                          
  44. }           

复制代码

下载(此代码年代久远,采用的老版本的库和老版本Keil编写的):
四路PWM输出测试.zip (44.75 KB, 下载次数: 48)






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1