微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 新手程序求解答

新手程序求解答

时间:10-02 整理:3721RD 点击:



我自己买了一个普中科技的开发板,这两张图第一个是开发板附赠教程里老师讲的程序,第二个是开发板附赠的范例程序,两者之间略有出入。
范例程序这一段:
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):  这些部分在老师讲的程序中有部分为小写,而小写在烧录到板子里是不正确的,求简答

最好能上一下原理图,如果两个程序的原理图不一样,那么程序有就不一样了

原理图?板子的电路图么?

这两个程序本身就是不一样的程序,在测试行部分,最后给KeyValue所赋的值都不一样,同样结构,流程的键盘扫描程序会因为不通的电路产生少量的差别。这类跟硬件电路直接相关的程序都只能针对相应电路,电路不同的话,是执行不出需要的结果的。
至于你说的大小写问题,我理解为你说的是 case(0X0b):和 case(0x0b):区别,这个可以查C语言的书,这两个好像是没区别的,C语言认为是同一个意思。

玩什么51  玩32去

在十六进制里面大小写是一样的,所以一般大小写是不会导致错误的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top