在实现_BV()宏时减少代码重复

时间:2019-05-11 06:42:06

标签: c arduino macros

我正在尝试使用C编程为其他微控制器实现Arduino风格的_BV()宏。与引脚号一起使用时,它返回与该位关联的位掩码。

#define _BV(bit)    (1UL << (bit))

例如:-_BV(PF0)给出(1 << PF0)

但是定义位域时出现问题。如果我开始使用符号常量定义每个位的位置,它将最终重复很多代码,如下所示

enter image description here

我尝试通过以下链接检查AVR实现是否相同

avrpins.h

它是用C ++实现的。有什么有效的方法可以解决C中的这个问题?

0 个答案:

没有答案