新手程序求解答
时间: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去
在十六进制里面大小写是一样的,所以一般大小写是不会导致错误的