#define SRC_ASCLIN_ASCLIN0_RX (*(volatile Ifx_SRC_SRCR*)0xF0038084u)
此处SRC_ASCLIN_ASCLIN0_RX
表示ASCLIN(异步/同步串行LIN Comm)接收服务请求。
我知道宏用于指向地址0xF0038084u
。但我想要实时的例子。
正在英飞凌微控制器上进行UART开发。
答案 0 :(得分:2)
宏在由预处理器扩展时,将整数文字转换为地址,指向Ifx_SRC_SRCR
的指针,然后取消引用指针,以便获取或设置存储在该特定地址的内存值。
所以你可以写一下。
Ifx_SRC_SRCR value = SRC_ASCLIN_ASCLIN0_RX;
或
SRC_ASCLIN_ASCLIN0_RX = some_other_value;
它基本上等同于做。
int an_integer = 6;
int *pointer_to_an_integer = &an_integer;
*pointer_to_an_integer = 10; // Equivalent to SRC_ASCLIN_ASCLIN0_RX = some_other_value above