[STM32F1] 这ACC用法不对?

[复制链接]
794|24
 楼主| kangzj 发表于 2021-1-7 21:30 | 显示全部楼层 |阅读模式
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用法不对?
zyf部长 发表于 2021-1-7 21:33 | 显示全部楼层
这里可能for ( i=8; i>0; i-- ) 会用到ACC,这样就会覆盖下面的ACC值
xxmmi 发表于 2021-1-7 21:36 | 显示全部楼层
用了C,除非你特牛,否则动到寄存器,死得难看。
xxmmi 发表于 2021-1-7 21:40 | 显示全部楼层
要在C语言中直接访问工作寄存器(R0~R7,A,B等等)
gongche 发表于 2021-1-7 21:47 | 显示全部楼层
我有次用I2C用了ACC,也被囧到了。。
huwr 发表于 2021-1-7 21:50 | 显示全部楼层
没听说过用C还要用ACC的
huanghuac 发表于 2021-1-7 21:53 | 显示全部楼层
你可以看下编译的汇编程序找找问题
happy_10 发表于 2021-1-7 21:57 | 显示全部楼层
楼主这是什么芯片的?ACC是什么寄存器?
bqyj 发表于 2021-1-7 22:01 | 显示全部楼层
这好像是51中的芯片,51中才有ACC这个寄存器的。
zhuhuis 发表于 2021-1-7 22:08 | 显示全部楼层
不是吧 51中的累加器ACC,是个8位的寄存器,用来存放数据的。
zhuhuis 发表于 2021-1-7 22:14 | 显示全部楼层
你直接通过宏定义判断不行吗?
chenho 发表于 2021-1-7 22:21 | 显示全部楼层
这个应该是51里面的实现方法吧。
songqian17 发表于 2021-1-7 22:26 | 显示全部楼层
新手典型错误之一。。。。。
xxmmi 发表于 2021-1-7 22:32 | 显示全部楼层
ACC_7=DIO;
               SCLK = 0;
               ACC=ACC>>=1;
你没看出来这错了吗?
stly 发表于 2021-1-7 22:54 | 显示全部楼层
第一个你怎么可以用赋值,第一个应该用位或操作,将DIO的0或者1给ACC。
pengf 发表于 2021-1-7 22:59 | 显示全部楼层
嗯,我猜的,可能不对,因为不太清楚你是要干啥。
morrisk 发表于 2021-1-7 23:06 | 显示全部楼层
ACC累加器
lium 发表于 2021-1-7 23:12 | 显示全部楼层
i是什么类型的啊
wangzsa 发表于 2021-1-7 23:16 | 显示全部楼层
数据类型的定义不对
 楼主| kangzj 发表于 2021-1-7 23:21 | 显示全部楼层

其实还是不大明白,我再琢磨琢磨吧,多谢了哈先
您需要登录后才可以回帖 登录 | 注册

本版积分规则

672

主题

7007

帖子

2

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