此代碼可用于STM32控制風扇轉速(電機轉速),加上無線紅外控制系統(tǒng)之。
extern void PWM_IN1IN2(void);
extern void TIM3_PWM_Init();
int main(void)
{
u8 key;
u16 led0pwmval=0;
u8 dir=1;
delay_init(); //延時函數初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置中斷優(yōu)先級分組為組2:2位搶占優(yōu)先級,2位響應優(yōu)先級
LED_Init(); //LED端口初始化
Remote_Init(); //紅外接收初始化
delay_init(); //延時函數初始化
PWM_IN1IN2(); //使能初始化
TIM3_PWM_Init(899,0); //不分頻。PWM頻率=72000000/900=80Khz
while(1)
{
key=Remote_Scan();
switch(key)
{
case 162:
if(dir)led0pwmval=500;
delay_ms(10);
TIM_SetCompare2(TIM3,led0pwmval);
GPIO_SetBits(GPIOA,GPIO_Pin_2);
;break; //1
case 98:
{
if(dir)led0pwmval=700;
delay_ms(10);
TIM_SetCompare2(TIM3,led0pwmval);
GPIO_SetBits(GPIOA,GPIO_Pin_2);
}
;break; //2
case 226:
if(dir)led0pwmval=899;
delay_ms(10);
TIM_SetCompare2(TIM3,led0pwmval);
GPIO_SetBits(GPIOA,GPIO_Pin_2)
;break; //3
case 34: GPIO_ResetBits(GPIOA,GPIO_Pin_2);
delay_ms(10);
GPIO_ResetBits(GPIOA,GPIO_Pin_3);
GPIO_SetBits(GPIOB,GPIO_Pin_5);
GPIO_SetBits(GPIOE,GPIO_Pin_5);
;break; //4
}
}
}
全部程序51hei下載地址:
紅外遙控控制風扇速度.7z
(208.33 KB, 下載次數: 79)
2019-7-27 00:42 上傳
點擊文件名下載附件
STM32紅外遙控控制風扇轉速(L298N、直流電機、PWM輸出、紅外遙控) 下載積分: 黑幣 -5
|