用了原子哥的例子现在不能回调呢?
static void Main_Task(void *p_arg)
{
OS_ERR err;
p_arg = p_arg;
while(1)
{
u8 num=0;
while ((( SysEvent >> num ) & 0x01 ) == 0 )//查找事件,进入事件处理函数
{
num++;
}
switch(num)
{
case 1: //当key_up按下的话打开定时器1
OSTmrStart(&tmr1,&err); //开启定时器1
// printf("开启定时器1
");
break;
case 2: //当key0按下的话打开定时器2
OSTmrStart(&tmr2,&err); //开启定时器2
// printf("开启定时器2
");
break;
case 3: //当key1按下话就关闭定时器
OSTmrStop(&tmr1,OS_OPT_TMR_NONE,0,&err); //关闭定时器1
OSTmrStop(&tmr2,OS_OPT_TMR_NONE,0,&err); //关闭定时器2
printf("关闭定时器1和2
");
break;
}
OSTimeDlyHMSM(0,0,0,10,OS_OPT_TIME_PERIODIC,&err); //延时10ms
}
}
//定时器1的回调函数
void tmr1_callback(void *p_tmr, void *p_arg)
{
static u8 tmr1_num=0;
Lcd_DispBar();
tmr1_num++; //定时器1执行次数加1
}
//定时器2的回调函数
void tmr2_callback(void *p_tmr,void *p_arg)
{
static u8 tmr2_num = 0;
tmr2_num++; //定时器2执行次数加1
Lcd_DispWave();
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>