小编hvg*_*guy的帖子

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)

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

c

3
推荐指数
1
解决办法
80
查看次数

C macro compiler warnings

I've defined a macro, using input from a previous question I asked here. The macro is intended to either set, clear, or check a GPIO pins state. The macro works as expected however a problem shows up when compiling. I get compiler warnings anywhere it's used:

Warning right-hand operand of comma expression has no effect

when I use the macro like this:

#define ON  1
#define OFF 2
#define ENA 3
#define OUT_3(x) (x==ON) ? (PORTJ.OUTSET=PIN2_bm) : (x==OFF) ? …
Run Code Online (Sandbox Code Playgroud)

c avr avr-gcc

0
推荐指数
1
解决办法
128
查看次数

标签 统计

c ×2

avr ×1

avr-gcc ×1