编译器的优先级顺序和链接字符的处理

今天在处理串口时想用一个宏定义来修改串口1和串口2 的定义如下:

 

编译器的优先级顺序和链接字符的处理_第1张图片

 来替换函数

 HAL_UART_Transmit(UART_HANDLE(UART_NUM)    ,(uint8_t*)&ch,1,0xffff);

 HAL_GPIO_WritePin(RS485_TX(UART_NUM),GPIO_PIN_SET);

但是出现了警报

编译器的优先级顺序和链接字符的处理_第2张图片

 发现编译器的编译顺序是先编译外层,再编译内层的宏.

最后解决的方法是:

编译器的优先级顺序和链接字符的处理_第3张图片

你可能感兴趣的:(编译器的优先级顺序和链接字符的处理)