小車PWM控制速度
單片機源程序如下:
- #include "timer.h"
- #include "delay.h"
- //TIM3 PWM部分初始化
- //PWM輸出初始化
- //arr:自動重裝值
- //psc:時鐘預分頻數
- void TIM3_PWM_Init(u16 arr,u16 psc)
- {
- RCC->APB1ENR|=1<<1; //TIM3時鐘使能
- RCC->APB2ENR|=1<<2; //使能PORTA時鐘
- RCC->APB2ENR|=1<<3; //使能PORTB時鐘
- GPIOA->CRL&=0X00FFFFFF; //PA6 CH1 PA7 CH2
- GPIOA->CRL|=0XBB000000; //復用功能輸出
- GPIOB->CRL&=0XFFFFFF00; //PB0 CH3 PB1 CH4
- GPIOB->CRL|=0X000000BB; //復用功能輸出
-
- TIM3->ARR=arr; //設定計數器自動重裝值
- TIM3->PSC=psc; //預分頻器不分頻
- TIM3->CCMR1|=7<<4; //CH1 PWM2模式
- TIM3->CCMR1|=1<<3; //CH1預裝載使能
- TIM3->CCER|=1<<0; //OC1 輸出使能
-
-
- TIM3->CCMR1|=7<<12; //CH2 PWM2模式
- TIM3->CCMR1|=1<<11; //CH2預裝載使能
- TIM3->CCER|=1<<4; //OC2 輸出使能
-
- TIM3->CCMR2|=7<<4; //CH3 PWM2模式
- TIM3->CCMR2|=1<<3; //CH3預裝載使能
- TIM3->CCER|=1<<8; //OC3 輸出使能
-
-
- TIM3->CCMR2|=7<<12; //CH4 PWM2模式
- TIM3->CCMR2|=1<<11; //CH4預裝載使能
- TIM3->CCER|=1<<12; //OC4 輸出使能
- TIM3->CCR1=3600; //OC4 輸出使能
-
- TIM3->CCR2=3000; //OC4 輸出使能
- TIM3->CCR3=5400; //OC4 輸出使能
- TIM3->CCR4=5000; //OC4 輸出使能
-
- TIM3->CR1|=1<<7; //ARPE使能
- TIM3->CR1|=0x01; //使能定時器3
- }
復制代碼
下載(此代碼年代久遠,采用的老版本的庫和老版本Keil編寫的):
四路PWM輸出測試.zip
(44.75 KB, 下載次數: 48)
2017-8-14 03:44 上傳
點擊文件名下載附件
|