目前想实现的功能是在按下按键key3时实现蜂鸣器的开启与关断,通过判断按键的状态来实现,使用的定时器为TIM3。判断key4的状态实现陀螺仪数据的读取。
目前的现象是如果不加陀螺仪的数据读取程序蜂鸣器也就是定时器可以正常的运行,也可以实现蜂鸣器的关断,单独使用陀螺仪也可以实现陀螺仪的数据读取。
但只要在定时器关闭或者开启后实现陀螺仪数据的读取,两者都不能实现其功能。程序如下:
i
[mw_shl_code=c,true]nt main(void)
{
extern u8 flag_key3;
extern u8 flag_key4;
SysInit();
while(1)
{
if(flag_key3==1)
{
LED1=0;
TIM_Cmd(TIM3, DISABLE); // 定时器/ 蜂鸣器关闭
}
else
{
LED1=1;
TIM_Cmd(TIM3, ENABLE); //定时器/ 蜂鸣器关闭
}
if(flag_key4==1)
{
SendGyro(); //实现陀螺仪数据的读取
}
}
或者程序改为:
int main(void)
{
extern u8 flag_key3;
extern u8 flag_key4;
SysInit();
while(1)
{
if(flag_key3==1)
{
LED1=0;
TIM_Cmd(TIM3, DISABLE); // 定时器/ 蜂鸣器关闭
SendGyro(); //实现陀螺仪数据的读取
}
else
{
LED1=1;
TIM_Cmd(TIM3, ENABLE); //定时器/ 蜂鸣器关闭
}
}[/mw_shl_code]