在IAR里面,有如下定义的宏:
(1) #define HAL_IO_SET(port, pin, val) HAL_IO_SET_PREP(port, pin, val)
(2) #define HAL_IO_SET_PREP(port, pin, val) st( P##port##_##pin## = val; )
为什么我直接使用(2)就报错呢?
VV:
什么错误,程序里面使用的是HAL_IO_SET,如果把(1)去掉了,就没有定义了。
yongjie fu1:
回复 VV:
这个问题我也遇到过,应该跟编译器宏替换的先后顺序有关,
不过还是没弄明白,还请高人指点啊。
天空:
回复 yongjie fu1:
你的问题解决了吗?