happy2058 发表于 2021-10-1 22:14 要养成写while(0==P1_7)的习惯就不会犯错了。 |
地板已经告诉你答案了,你压根就没有定义过 P1_7.......... 你得先 sbit P1_7=P1^7;............ 底下那些只是一个提示信息而已,跟实际的代码没有关系 在提示自信中Keil函数名全是大写的,.... |
没有定义变量或者定义出现错误 while (p1_7=0);这里有问题,=号是赋埴。你是里是比较。 |
你确认这是大写?
![]() |
不是大写变小写的问题,你把错误提示翻译一下就知道了,它是告诉你P1_7等没有定义,你可以打开你的头文件看看,就知道I/O不是这样写的,你的写法不符合头文件的定义,自然会报这个错误 |
错误显示你没有声明p1_7 ... 等。 |
你如何证明“你输入的是大写P”。 |
![]() 如上图,你自己写的小写,你自己不知道么??? |
sbit P1_7=P1^7; sbit P1_6=P1^6; sbit P1_5=P1^5; sbit P1_4=P1^4; 你各个引脚都没定义就直接用了。和大小写无关。 |
我可以回答你的问题,如果你用汇编语言写程序你会发现无论大写还是小写都可以编译,程序也完全没有问题,C语言就是这样规定的,输入IO口就必须用大写,小写的我就报错误。 |
我用keil3一年多了,没有遇到过你说的现象。 你打开电脑中的rixkey.c,把小写改为大写,再保存,编译试试。 |