C宏打开或关闭引脚

hvg*_*guy 3 c

我知道之前有人问过这个问题,但我花了几个小时寻找并测试了一些东西,却找不到解决方案.

我想替换这个:

#define LED_ON PORTA|=(1<<6)
#define LED_OFF PORTA&=~(1<<6)
Run Code Online (Sandbox Code Playgroud)

用这样的东西:

#define ON 1
#define OFF 0
#define LED(x) if (x==ON) PORTA|=(1<<6) else if (x==OFF) PORTA&=~(1<<6)
Run Code Online (Sandbox Code Playgroud)

那么这样做的正确方法(或最佳方式?)是什么?

Nun*_*chy 5

像这样?

#define LED(x) (x==ON) ? (PORTA|=(1<<6)) : (PORTA&=~(1<<6))
Run Code Online (Sandbox Code Playgroud)

编辑:轻微的错误,我道歉.这是你想要的吗?