ACC用法问题

[复制链接]
2020|7
 楼主| dingy 发表于 2012-5-24 19:43 | 显示全部楼层 |阅读模式
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用法不对?
supernan 发表于 2012-5-24 19:43 | 显示全部楼层
这里可能for ( i=8; i>0; i-- ) 会用到ACC,这样就会覆盖下面的ACC值

C里面一般不要去操作寄存器
pengf 发表于 2012-5-24 19:45 | 显示全部楼层
用了C,除非你特牛,否则动到寄存器,死得难看。
renyaq 发表于 2012-5-24 19:45 | 显示全部楼层
要在C语言中直接访问工作寄存器(R0~R7,A,B等等),你就得考虑后果。
栩栩如生 发表于 2012-5-24 19:47 | 显示全部楼层
我有次用I2C用了ACC,也被囧到了。。。
结果好像改成for(i = 0; i < 8; i++)就没事了。。。- -
juventus9554 发表于 2012-5-24 19:47 | 显示全部楼层
没听说过用C还要用ACC的
 楼主| dingy 发表于 2012-5-24 19:49 | 显示全部楼层
看来我错了。。。
 楼主| dingy 发表于 2012-5-24 19:49 | 显示全部楼层
先结贴了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

745

主题

10920

帖子

6

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