[STM32F1] 头文件的问题

[复制链接]
 楼主| bqyj 发表于 2019-10-13 21:15 | 显示全部楼层 |阅读模式
#define FLASH_ACR_LATENCY_Pos                (0U)                              
#define FLASH_ACR_LATENCY_Msk                (0x1U << FLASH_ACR_LATENCY_Pos)   /*!< 0x00000001 */
#define FLASH_ACR_LATENCY                    FLASH_ACR_LATENCY_Msk             /*!< Latency */
其中的0U左移一位x2还是0啊?
#define FLASH_ACR_SLEEP_PD_Pos               (3U)                              
#define FLASH_ACR_SLEEP_PD_Msk               (0x1U << FLASH_ACR_SLEEP_PD_Pos)  /*!< 0x00000008 */
3左移一位应该是6啊?请问是我理解错了吗?
chuxh 发表于 2019-10-13 21:18 | 显示全部楼层

0x1U<<0 0X00000001 1左移0位当然是还是1
0X1U<<3 0X00000008 1左移3位到第八字节最高位为8
C语言移位运算基础
wanduzi 发表于 2019-10-13 23:28 | 显示全部楼层
那不是3左移动1位,是1左移动了3位。
wanduzi 发表于 2019-10-13 23:28 | 显示全部楼层
楼主搞颠倒了。
wanduzi 发表于 2019-10-13 23:29 | 显示全部楼层
x<<1                       x往左移一位
wanduzi 发表于 2019-10-13 23:29 | 显示全部楼层
x>>1                                 往右边移一位
houcs 发表于 2019-10-18 17:00 | 显示全部楼层

3左移一位应该是6啊? 是的
但这里是 1 左移 3位,  楼主看得不够仔细哪
 楼主| bqyj 发表于 2019-10-18 17:05 | 显示全部楼层

原来如此,我弄错了,谢谢了
晓伍 发表于 2019-11-13 13:51 | 显示全部楼层
最基础的C语言知识
您需要登录后才可以回帖 登录 | 注册

本版积分规则

390

主题

4526

帖子

2

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

390

主题

4526

帖子

2

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