#ifndef __PWM_H
#define __PWM_H
#include "sys.h"
void TIM2_PWM_Init(u16 arr1,u16 psc1); #endif
int main(void)
{
u16 pwmval=0; //定義led0pwm的初始值
u8 dir=1; //用于控制PWM值的變化范圍
delay_init(); //初始化delay函數(shù)
TIM2_PWM_Init(899,0); //PWM初始化函數(shù) 第一個(gè)數(shù)arr:自動(dòng)重裝值,第二個(gè)數(shù)psc:時(shí)鐘預(yù)分頻數(shù)
//不分頻,PWM頻率:72000/(899+1)=80khz
while(1) //無限循環(huán)
{
delay_ms(10);
if(dir) pwmval++;
else pwmval--;
if(pwmval>700)dir=0;
if(pwmval==0)dir=1;
TIM_SetCompare1(TIM2,pwmval); //TIM_CCR占空比函數(shù)
}
| 歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |