新手上路
- 积分
- 27
- 金钱
- 27
- 注册时间
- 2016-8-22
- 在线时间
- 4 小时
|
1金钱
如题,小弟最近学习ucosⅢ,通过正点的视频在学习,在软件定时器的章节,发现在调用OSTimeDlyHMSM()函数时,例程中的OPT是OS_OPT_TIME_PERIODIC,但是之前学习的时间管理中对OSTimeDlyHMSM的OPT只有OS_OPT_TIME_HMSM_STRICT和OS_OPT_TIME_HMSM_NON_STRICT两种,在这讲为什么设置成OS_OPT_TIME_PERIODIC?
图片中的这几个OPT什么时候需要用?
还请大家赐教!!
//正点的例程
//任务1的任务函数
void task1_task(void *p_arg)
{
u8 key,num;
OS_ERR err;
while(1)
{
key = KEY_Scan(0);
switch(key)
{
case WKUP_PRES: //当key_up按下的话打开定时器1
OSTmrStart(&tmr1,&err); //开启定时器1
printf("开启定时器1\r\n");
break;
case KEY0_PRES: //当key0按下的话打开定时器2
OSTmrStart(&tmr2,&err); //开启定时器2
printf("开启定时器2\r\n");
break;
case KEY1_PRES: //当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;
}
num++;
if(num==50) //每500msLED0闪烁一次
{
num = 0;
LED0 = ~LED0;
}
OSTimeDlyHMSM(0,0,0,10,OS_OPT_TIME_PERIODIC,&err); //延时10ms
|
|