#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函數
TIM2_PWM_Init(899,0); //PWM初始化函數 第一個數arr:自動重裝值,第二個數psc:時鐘預分頻數
//不分頻,PWM頻率:72000/(899+1)=80khz
while(1) //無限循環
{
delay_ms(10);
if(dir) pwmval++;
else pwmval--;
if(pwmval>700)dir=0;
if(pwmval==0)dir=1;
TIM_SetCompare1(TIM2,pwmval); //TIM_CCR占空比函數
}
| 歡迎光臨 (http://m.raoushi.com/bbs/) | Powered by Discuz! X3.1 |