c - 为什么我可以右移两位来访问 odroid 板上的 GPIO?

标签 c arm gpio odroid

Here是处理 odroid XU3 板上 GPIO 的 C 源代码示例。我的问题是 >> 2 在像这样的结构中的用途是什么:

*(gpio + (0x0c24 >> 2)) |= (1 << 2);

最佳答案

  • gpio 是一个 uint32_t 指针。

  • 地址 0x24 是按字节给定的。

  • 当我们给32位指针加1时,地址会跳转4个位置。所以,我们必须添加 address/4 才能到达正确的位置。 (>>2 等同于除以 4)

关于c - 为什么我可以右移两位来访问 odroid 板上的 GPIO?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40356889/

相关文章:

c - C中链表的插入排序?

c - C strcmp 中的字符串比较

memory - 将大量二进制数据从 u-boot 传递到 linux 内核

python - 写 GPIO Raspberry PI 2 B+

linux - 尽管命令行未按预期工作,但设置/重置 GPIO

c - 如何使用scanf检查用户是否输入了整数

Android 特拉维斯 CI 错误 : Invalid --abi armeabi-v7a for the selected target

assembly - ARM 程序集 - 使用花括号

c++ - 如何将 NanoPi 的 GPIO 设置为硬件级别的输出?

c - 在c中使用socket选择阻塞