新手程序求解答

2019-07-15 09:36发布

@)I7](]]N64(T[}GZ[`4E45.png
QA$]HH8X6_S`11EHP{9YNGT.jpg
我自己买了一个普中科技的开发板,这两张图第一个是开发板附赠教程里老师讲的程序,第二个是开发板附赠的范例程序,两者之间略有出入。
范例程序这一段:
GPIO_KEY=0X0F;
                        switch(GPIO_KEY)
                        {
                                case(0X07):        KeyValue=0;break;
                                case(0X0b):        KeyValue=1;break;
                                case(0X0d): KeyValue=2;break;
                                case(0X0e):        KeyValue=3;break;
                        }
                        //测试行
                        GPIO_KEY=0XF0;
                        switch(GPIO_KEY)
                        {
                                case(0X70):        KeyValue=KeyValue;break;
                                case(0Xb0):        KeyValue=KeyValue+4;break;
                                case(0Xd0): KeyValue=KeyValue+8;break;
                                case(0Xe0):        KeyValue=KeyValue+12;break;

GPIO_KEY=0X0F;  case(0X07):  case(0X0b):  case(0X0d):  case(0X0e):  GPIO_KEY=0XF0;  case(0X70):  case(0Xb0):  case(0Xd0):   case(0Xe0):  这些部分在老师讲的程序中有部分为小写,而小写在烧录到板子里是不正确的,求简答


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
人中狼
1楼-- · 2019-07-15 18:43
这两个程序本身就是不一样的程序,在测试行部分,最后给KeyValue所赋的值都不一样,同样结构,流程的键盘扫描程序会因为不通的电路产生少量的差别。这类跟硬件电路直接相关的程序都只能针对相应电路,电路不同的话,是执行不出需要的结果的。
至于你说的大小写问题,我理解为你说的是 case(0X0b):和 case(0x0b):区别,这个可以查C语言的书,这两个好像是没区别的,C语言认为是同一个意思。
617195532
2楼-- · 2019-07-15 22:44
玩什么51  玩32去
坚定目标一步一步
3楼-- · 2019-07-16 02:20
在十六进制里面大小写是一样的,所以一般大小写是不会导致错误的

一周热门 更多>