[STM32F1] ACC的用法

[复制链接]
1154|19
 楼主| supernan 发表于 2021-5-5 15:15 | 显示全部楼层 |阅读模式
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用法不对?
happy_10 发表于 2021-5-5 15:17 | 显示全部楼层
这里可能for ( i=8; i>0; i-- ) 会用到ACC,这样就会覆盖下面的ACC值
bqyj 发表于 2021-5-5 15:19 | 显示全部楼层
用了C,除非你特牛,否则动到寄存器,死得难看。
xxmmi 发表于 2021-5-5 15:21 | 显示全部楼层
要在C语言中直接访问工作寄存器(R0~R7,A,B等等),你就得考虑后果。
houcs 发表于 2021-5-5 15:22 | 显示全部楼层
我有次用I2C用了ACC,也被囧到了。。
wenfen 发表于 2021-5-5 15:24 | 显示全部楼层
没听说过用C还要用ACC的
zhuhuis 发表于 2021-5-5 15:26 | 显示全部楼层
你可以看下编译的汇编程序找找问题
tian111 发表于 2021-5-5 15:29 | 显示全部楼层
这好像是51中的芯片,51中才有ACC这个寄存器的。
songqian17 发表于 2021-5-5 15:34 | 显示全部楼层
51中的累加器ACC,是个8位的寄存器,用来存放数据的。
chenho 发表于 2021-5-5 15:36 | 显示全部楼层
楼主,怎么不用宏定义来实现呢
chenho 发表于 2021-5-5 15:38 | 显示全部楼层
你直接通过宏定义判断不行吗?
zwll 发表于 2021-5-5 15:39 | 显示全部楼层
这个应该是51里面的实现方法吧。
chuxh 发表于 2021-5-5 15:41 | 显示全部楼层
不知道ACC是什么,是汇编的吗?
zhenykun 发表于 2021-5-5 15:43 | 显示全部楼层
i是什么类型的变量啊
zwll 发表于 2021-5-5 15:45 | 显示全部楼层
语法错误了啊
xxrs 发表于 2021-5-5 15:47 | 显示全部楼层
楼主多看看代码就明白了
xxrs 发表于 2021-5-5 15:50 | 显示全部楼层
单步运行的时候进行监测  就知道哪里的问题了
dengdc 发表于 2021-5-5 15:52 | 显示全部楼层
这是51采用的技术。
 楼主| supernan 发表于 2021-5-5 15:54 | 显示全部楼层
搞定了,呵呵,犯了低级错误……
磨砂 发表于 2021-6-1 09:17 | 显示全部楼层
可以这么用 但是需要技巧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

730

主题

10412

帖子

6

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