类似这样:
int result = 0;
int i; //这一步很关键,i要定义在外面
switch(n)
{
case 2:
i=xxx;
result = i;
break;
default:
result = 0;
break;
}
return result;
你要知道哪个数据先要知道:KeyPortStatus = GPIO_ReadInputData(KEYPORT) & 0x000f;这行
我不知道你的定义我就暂时以PB口为你读取KEY的口吧,看这状态肯定是上拉然后低4位是按键,所以将口除低4位外全部清零(&0x000f)就是保留低4位二进制就是1111。
然后switch(KeyScanState) 这其实就是将第4位判断哪个具体位为0,说明哪个按下。
然后在把2进制的值用10进制表示当然你这个是已经被重新定义过的了:
KeyScanState_0,1,2。。。这些,所以你要先看看他是定义的几才行。没有按键为0时应该是0x0f。。以此类推
以上就是关于在 Switch 里怎么弄返回值全部的内容,包括:在 Switch 里怎么弄返回值、stm32编程问题,状态机,求大神指导,初学者,主要是switch语句后面的变量取值不明白、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)