数码之家

 找回密码
 立即注册
搜索
查看: 114|回复: 5

[C51] CCF0赋值报错,这是什么原因导致的?

[复制链接]
发表于 4 天前 | 显示全部楼层 |阅读模式
编译报错,AI8051的CCF0地址好像定义在扩展内存,不能用sbit定义,看头文件里是用#define下面再用#define定义的,这种定义方式看不懂是个什么意思,但是程序里面给CCF0赋值编译报错,搞不懂了,这到底是哪里的问题?


这是头文件里的定义:




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
 楼主| 发表于 4 天前 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 4 天前 | 显示全部楼层
看了下STC手册里的代码,好像不是直接对CCF0赋值,而是用CCON&=~CCF0,这是啥原理?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 4 天前 | 显示全部楼层
明白了,它这里CCF0只是定义成1,表示第0位的值为1,其他7位都是0,然后真正的操作还是要通过CCON寄存器去进行
回复 支持 反对

使用道具 举报

发表于 3 天前 | 显示全部楼层
路过~学习一下
回复 支持 反对

使用道具 举报

发表于 3 天前 来自手机浏览器 | 显示全部楼层
猪小呆 发表于 2025-6-2 22:53
明白了,它这里CCF0只是定义成1,表示第0位的值为1,其他7位都是0,然后真正的操作还是要通过CCON寄存器去 ...

这是宏定义。如果CFF0=1时。CCON&CCF0,CCON的bit1结果为1,CCON&=~CCF0,CCON的bit1位为0
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-6-6 05:31 , Processed in 0.624001 second(s), 10 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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