gpt4 book ai didi

c - 为什么在嵌入式编程中初始化变量时使用 `OR`位操作?

转载 作者:行者123 更新时间:2023-12-04 10:49:59 27 4
gpt4 key购买 nike

此信息来自 YOUTUBE 的嵌入编程教程。

讲师建议使用OR操作为某个内存位置赋值。

SYSCTL_RCGCGPIO_R    |=   (1U<<5); 

我的问题是为什么不只是,

SYSCTL_RCGCGPIO_R    =   (1U<<5); 

SYSCTL_RCGCGPIO_R的定义是

#define SYSCTL_RCGCGPIO_R       (*((volatile unsigned long *)0x400FE608))

假设SYSCTL_RCGCGPIO_R内存位置的值为0,我知道这两个任务是平等的。

但是第一次赋值不会造成不必要的位操作吗?

在将值写入特定内存位置时,使用OR 位运算是否有特殊原因?

最佳答案

本教程之所以建议您使用 OR 指令而不是直接赋值,是因为在您无法控制的情况下,目标值可能不同于零,而您不这样做想要修改位 6 以外的任何位。

关于c - 为什么在嵌入式编程中初始化变量时使用 `OR`位操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44056575/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com