这里可使用宏定义:
#define default_beep() \
beep(1, 100, 20, 0)
#define set_relay(n, v) \
rt_pin_write(RELAY_PIN_##n, v)
#define get_relay(n) \
rt_pin_read(RELAY_PIN##n)
#define open_relay(n) \
do { \
default_beep(); \
set_relay(n, PIN_HIGH); \
} while (0)
#define close_delay(n) \
do { \
default_beep(); \
set_relay(n, PIN_LOW); \
} while (0)
#define toggle_relay(n) \
do { \
default_beep(); \
set_delay(n, !get_delay(n)); \
} while (0)
#define open_relay_1() open_relay(1)
#define open_relay_2() open_relay(2)
......
#define close_relay_1() close_relay(1)
......
#define toggle_relay_1() toggle_relay(1)
......
#define get_relay_1() get_relay(1)
......
#undef default_beep
#undef set_relay
#undef get_relay
#undef open_relay
#undef close_relay
#undef toggle_relay