初级会员
- 积分
- 193
- 金钱
- 193
- 注册时间
- 2016-8-18
- 在线时间
- 19 小时
|
1金钱
本人小白在编写软件定时器那块代码时,是在之前的程序上改的,但是中途遇到有问题,问题是:在没有屏蔽红色这段代码时,会显示蓝色那两个地方有错误,错误提示为 main.c(225): error: #268: declaration may not appear after executable statement in block,然而,(1)当我把蓝色那两段代码放在while循环里时并且不屏蔽红色那段代码时,显示是没错的,并能运行;(2)当我像下面代码那样处理时,同样是可以运行的;那么我的问题就是,p_arg = p_arg这段代码到底有什么用,对这两段 u8 KEY;u8 num;代码有什么影响
void taskb_task(void *p_arg)
{
OS_ERR err;
// p_arg = p_arg;
u8 KEY;
u8 num;
while(1)
{
KEY=KEY_Scan(0);
switch(KEY)
{
case WKUP_PRES:
OSTmrStart(&tmr1,&err);
printf("开启定时器1\r\n");
break;
case KEY0_PRES:
OSTmrStart(&tmr2,&err);
printf("开启定时器2\r\n");
break;
case KEY1_PRES:
OSTmrStop(&tmr1,OS_OPT_TMR_NONE,0,&err);
OSTmrStop(&tmr2,OS_OPT_TMR_NONE,0,&err);
printf("关闭定时器1和2\r\n");
break;
}
num++;
if(num%50==0)
{
LED0=~LED0;
}
OSTimeDlyHMSM(0,0,0,10,OS_OPT_TIME_HMSM_STRICT,&err);
}
}
|
最佳答案
查看完整内容[请看2#楼]
p_arg = p_arg ,防止编译器警告未用到,C语言必须先声明参数,之后段落才是相关逻辑,自己好好打打C语言基础吧!
|