[51单片机] 这几句话为什么通不过编译?

[复制链接]
895|3
 楼主| liwei0125 发表于 2019-1-22 14:57 | 显示全部楼层 |阅读模式
在给51单片机写程序中发现的,我简化了一下,第一个程序编译没问题,第二个程序用了sbit,就通不过编译了,为什么?
#include<at89x52.h>
main()
{
P1_7=0;
}

#include<at89x52.h>
sbit LED = P1_7;
main()
{
LED=0;
}
ningling_21 发表于 2019-1-22 16:05 | 显示全部楼层
把P1_7 改为 P1^7
 楼主| liwei0125 发表于 2019-1-22 16:24 | 显示全部楼层
谢谢,这样真的可以了,还想问下,为什么下面这样写也通不过编译呢?
#include<at89x52.h>
main()
{
P1^7=0;
}
airwill 发表于 2019-1-22 19:50 | 显示全部楼层
这个位变量定义的 ^ 符号只能在定义的时候使用,  到了下面.
P1^7=0;
编译器会认为是异或运算了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

69

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部