高级会员

- 积分
- 950
- 金钱
- 950
- 注册时间
- 2017-2-23
- 在线时间
- 205 小时
|
1金钱
用了原子哥的例子现在不能回调呢?
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\r\n");
break;
case 2: //当key0按下的话打开定时器2
OSTmrStart(&tmr2,&err); //开启定时器2
// printf("开启定时器2\r\n");
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\r\n");
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();
}
|
|