这ACC用法不对?

[复制链接]
2824|12
 楼主| wangpe 发表于 2021-7-4 17:50 | 显示全部楼层 |阅读模式
sbit ACC_7 = ACC^7; //先定义

for ( i=8; i>0; i-- )
{
ACC_7=DIO;
SCLK = 0;
ACC=ACC>>=1;
SCLK = 1;
}
其中DIO是单片机引脚,用ACC_7读出的数值
是FF,但是我用if语句判断引脚,不用ACC_7读就是对的
,难道这ACC用法不对?
lizye 发表于 2021-7-4 17:53 | 显示全部楼层
sbit ACC_7 = ACC^7; //先定义

for ( i=8; i>0; i-- )
{
ACC_7=DIO;
SCLK = 0;
ACC=ACC>>=1;
SCLK = 1;
}
其中DIO是单片机引脚,用ACC_7读出的数值
是FF,但是我用if语句判断引脚,不用ACC_7读就是对的
,难道这ACC用法不对?
langgq 发表于 2021-7-4 17:55 | 显示全部楼层

这里可能for ( i=8; i>0; i-- ) 会用到ACC,这样就会覆盖下面的ACC值

C里面一般不要去操作寄存器
wangzsa 发表于 2021-7-4 17:58 | 显示全部楼层
用了C,除非你特牛,否则动到寄存器,死得难看。
xxmmi 发表于 2021-7-4 17:59 | 显示全部楼层

要在C语言中直接访问工作寄存器(R0~R7,A,B等等),你就得考虑后果。
zhanglli 发表于 2021-7-4 18:01 | 显示全部楼层

我有次用I2C用了ACC,也被囧到了。。。
结果好像改成for(i = 0; i < 8; i++)就没事了。。。- -
zwll 发表于 2021-7-4 18:53 | 显示全部楼层

没听说过用C还要用ACC的
hanwe 发表于 2021-7-4 18:54 | 显示全部楼层
在编程的过程中,使用c语言可以便于读
dingy 发表于 2021-7-4 18:57 | 显示全部楼层

但是它不利于存储器内部的读取。
 楼主| wangpe 发表于 2021-7-4 18:59 | 显示全部楼层

看来我错了。。。
zwll 发表于 2021-7-4 19:01 | 显示全部楼层

是的 ,这个有时候也容易陷进去的啊
wenfen 发表于 2021-7-4 19:02 | 显示全部楼层

这个代码写的有些简洁的哈
 楼主| wangpe 发表于 2021-7-4 19:04 | 显示全部楼层
搞定了,呵呵,犯了低级错误…多谢各位
您需要登录后才可以回帖 登录 | 注册

本版积分规则

938

主题

9837

帖子

2

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