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

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

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

来替换函数
HAL_UART_Transmit(UART_HANDLE(UART_NUM),(uint8_t*)&ch,1,0xffff);

HAL_GPIO_WritePin(RS485_TX(UART_NUM),GPIO_PIN_SET);
但是出现了警报
编译器的优先级顺序和链接字符的处理
文章图片

发现编译器的编译顺序是先编译外层,再编译内层的宏.
最后解决的方法是:
【编译器的优先级顺序和链接字符的处理】编译器的优先级顺序和链接字符的处理
文章图片

    推荐阅读