#define 中的 C 宏括号和星号
C macro parenthesis and asterisk in #define
我有这行来自 Nordic SoC 芯片的实时时钟 (RTC) 驱动程序的 C 代码。我试图寻找它的作用,但搜索起来有点困难。任何人都可以让我知道它是做什么的吗?特别是括号和星号。
#define NRF_RTC0 ((NRF_RTC_Type *) NRF_RTC0_BASE)
NRF_RTC_Type 是结构的类型定义,NRF_RTC0_BASE 被#define'ed 为 0x4000B000UL。
谢谢!
NRF_RTC0_BASE
标识一组位于地址 4000B000
开始的硬件寄存器。 NRF_RTC_Type
定义了各个寄存器的映射,它可能添加了 volatile
限定符以确保它们被视为 I/O 而不是普通内存。
圆括号表示类型转换操作,星号表示指针类型。
使用宏 NRF_RTC0
以结构化方式访问寄存器。
我有这行来自 Nordic SoC 芯片的实时时钟 (RTC) 驱动程序的 C 代码。我试图寻找它的作用,但搜索起来有点困难。任何人都可以让我知道它是做什么的吗?特别是括号和星号。
#define NRF_RTC0 ((NRF_RTC_Type *) NRF_RTC0_BASE)
NRF_RTC_Type 是结构的类型定义,NRF_RTC0_BASE 被#define'ed 为 0x4000B000UL。
谢谢!
NRF_RTC0_BASE
标识一组位于地址 4000B000
开始的硬件寄存器。 NRF_RTC_Type
定义了各个寄存器的映射,它可能添加了 volatile
限定符以确保它们被视为 I/O 而不是普通内存。
圆括号表示类型转换操作,星号表示指针类型。
使用宏 NRF_RTC0
以结构化方式访问寄存器。