按键貌似没什么作用,是中断没起作用吗
主程序
int main(void)
{
u8 t=0;
u16 led0pwmval=0;
u8 dar=1;
u8 dbr=1;
u8 dir=1;
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
TIM3_Int_Init(4999,7199);//10Khz的计数频率,计数到5000为500ms
KEY_Init(); //初始化与按键连接的硬件接口
LED_Init(); //初始化与LED连接的硬件接口
TIM1_PWM_Init(899,0);//不分频。PWM频率=72000/(899+1)=80Khz
while(1)
{
delay_ms(10);
t=KEY_Scan(0); //得到键值
switch(t)
{
case KEY0_PRES:dar;
break;
case KEY1_PRES:dbr;
break;
default:delay_ms(10);
}
if(dar)TIM3->PSC+=2;
if(dbr)TIM3->PSC-=2;
if(dir)led0pwmval++;
else led0pwmval--;
if(led0pwmval>300)dir=0;
if(led0pwmval==0)dir=1;
TIM_SetCompare1(TIM1,led0pwmval);
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>