标题: 16位的键盘单片机程序编译错误 求指导 [打印本页]

作者: alalsce11    时间: 2021-9-1 16:13
标题: 16位的键盘单片机程序编译错误 求指导


作者: lkc8210    时间: 2021-9-1 17:59
函数名和管脚名重覆了"KEY"
作者: alalsce11    时间: 2021-9-1 18:18
lkc8210 发表于 2021-9-1 17:59
函数名和管脚名重覆了"KEY"

那只要重新定义一下函数名就行了吗

作者: alalsce11    时间: 2021-9-1 18:26
lkc8210 发表于 2021-9-1 17:59
函数名和管脚名重覆了"KEY"

那是要如何修改呢,希望可以给个建议,遇到好几次这样的事了

作者: lkc8210    时间: 2021-9-1 19:53
alalsce11 发表于 2021-9-1 18:26
那是要如何修改呢,希望可以给个建议,遇到好几次这样的事了

函数用KEY2或其它名字就可以了~
作者: alalsce11    时间: 2021-9-1 19:59
是18行的unsigned char key的key加个2吗,我试了一下不行啊
作者: 188610329    时间: 2021-9-1 20:38
18行 改成 unsigned char Getkey(void)
另外,非常不建议 用: #define KEY P1 这种方式,你非要把P1命名为KEY,宁可用: sfr KEY = 0x90;
最后,不管你什么原因编译不通过,你把编译不通过的信息发出来啊……
作者: alalsce11    时间: 2021-9-1 20:49
main.c(19): error C141: syntax error near '!'
main.c(19): error C141: syntax error near '='
main.c(19): error C141: syntax error near ')'

这是改过后的,改了18行的key定义
作者: lkc8210    时间: 2021-9-2 00:00
alalsce11 发表于 2021-9-1 20:49
main.c(19): error C141: syntax error near '!'
main.c(19): error C141: syntax error near '='
main.c ...

请把"! ="改为"!="
作者: alalsce11    时间: 2021-9-2 00:12
lkc8210 发表于 2021-9-2 00:00
请把"! ="改为"!="

谢谢你,我改好了,请问一下sfr KEY = 0x90;这个是什么含义,我有点理解不了

作者: lkc8210    时间: 2021-9-2 00:26
alalsce11 发表于 2021-9-2 00:12
谢谢你,我改好了,请问一下sfr KEY = 0x90;这个是什么含义,我有点理解不了

sfr是定义单片机固有的的寄存器,接口
0x90是一个十六进制数值
在8051单片机中,P1的接口地址就是0x90
作者: alalsce11    时间: 2021-9-2 00:55
lkc8210 发表于 2021-9-2 00:26
sfr是定义单片机固有的的寄存器,接口
0x90是一个十六进制数值
在8051单片机中,P1的接口地址就是0x90

嗯嗯,好,刚刚翻了一下51的手册懂了,谢谢你





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1