标题: 求助:STC8G.H头文件增加内容后编译错误 [打印本页]

作者: 欢歌    时间: 2022-8-18 22:05
标题: 求助:STC8G.H头文件增加内容后编译错误
本帖最后由 欢歌 于 2022-8-18 22:19 编辑

STC8G.H头文件编译错误,截图见下
C:\Users\jzy\Desktop\STC8G_H.png

ADC_CONTR在STC8G.H头文件里有定义,
我自己添加了ADC_CONTR的几个位的名称,然后编译就出错了
sfr         ADC_CONTR   =           0xBC;
sbit        ADC_POWER                =                                                ADC_CONTR^7;
sbit        ADC_START                =                                                ADC_CONTR^6;
sbit        ADC_FLAG                =                                                ADC_CONTR^5;

错误显示
STC8G.H(125): error C146: 'ADC_CONTR': invalid base address
STC8G.H(126): error C146: 'ADC_CONTR': invalid base address
STC8G.H(127): error C146: 'ADC_CONTR': invalid base address
Target not created.
Build Time Elapsed:  00:00:01

请大神帮忙看看是咋回事,谢谢。

作者: hhh402    时间: 2022-8-20 00:07
ADC_CONTR不支持位寻址,不是所有寄存器都可以位寻址的,不能够随意改。ADC_CONTR只支持8位同时操作,不可以单独户操作其中一位。
作者: tzs233    时间: 2022-8-20 09:20
1特殊寄存器地址能被8整除的才能进行位操作,不能被8整除的不可以进行位操作,此错误消息表明,为sbit字节指定的基地址是无效的。sbit的字节地址必须是低位是0或8的SFR
作者: void_island    时间: 2022-8-25 23:03
无效地址位。ADC_CONTR寄存器不支持位寻址,不能sbit,只能整体赋值。
作者: hp34401a    时间: 2022-9-6 21:18
STC32G 是增强C251  内核,可方便C51升级,而且所有寄存器均支持位操作,值得尝试。




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