标签: c arduino macros
我正在尝试使用C编程为其他微控制器实现Arduino风格的_BV()宏。与引脚号一起使用时,它返回与该位关联的位掩码。
#define _BV(bit) (1UL << (bit))
例如:-_BV(PF0)给出(1 << PF0)
但是定义位域时出现问题。如果我开始使用符号常量定义每个位的位置,它将最终重复很多代码,如下所示
我尝试通过以下链接检查AVR实现是否相同
avrpins.h
它是用C ++实现的。有什么有效的方法可以解决C中的这个问题?