找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1479|回复: 4
收起左侧

求助:STC8G.H头文件增加内容后编译错误

[复制链接]
ID:883818 发表于 2022-8-18 22:05 | 显示全部楼层 |阅读模式
本帖最后由 欢歌 于 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

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

使用道具 举报

ID:491577 发表于 2022-8-20 00:07 | 显示全部楼层
ADC_CONTR不支持位寻址,不是所有寄存器都可以位寻址的,不能够随意改。ADC_CONTR只支持8位同时操作,不可以单独户操作其中一位。
回复

使用道具 举报

ID:509408 发表于 2022-8-20 09:20 | 显示全部楼层
1特殊寄存器地址能被8整除的才能进行位操作,不能被8整除的不可以进行位操作,此错误消息表明,为sbit字节指定的基地址是无效的。sbit的字节地址必须是低位是0或8的SFR
回复

使用道具 举报

ID:1042960 发表于 2022-8-25 23:03 | 显示全部楼层
无效地址位。ADC_CONTR寄存器不支持位寻址,不能sbit,只能整体赋值。
回复

使用道具 举报

ID:192294 发表于 2022-9-6 21:18 | 显示全部楼层
STC32G 是增强C251  内核,可方便C51升级,而且所有寄存器均支持位操作,值得尝试。

评分

参与人数 1黑币 +4 收起 理由
STC庄伟 + 4 很给力!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表