想定义一个宏,为什么要按照如下方式定义呢
(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)去掉了,就没有定义了。
想定义一个宏,为什么要按照如下方式定义呢
(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)为什么会报错呢
什么错误,程序里面使用的是HAL_IO_SET,如果把(1)去掉了,就没有定义了。