单片机常用宏
代码说明:
单片机常用宏 以前学51单片机的时候每次要配置寄存器的时候,虽然都知道看着器件手册去写,但是我还是觉得很痛苦,后来就有了这些宏,阅读起来会直观一点,不过敲的代码也得多一点,我后来写的代码都是用这些宏来封装寄存器操作的。 #ifndef MACRO_FUNCTION #define MACRO_FUNCTION //这个头文件里定义了一些宏定义,方便使用 /********************************************************************************* * AssignBit / AssignFlag *说明: * 这个宏用来得到一个变量的某个或某几个位被赋值后的值 *参数: * type 参数flag的类型 * flag 要赋值的变量 * which_bit * 标明flag的哪几个位要被赋值 * val 表示要赋给flag的那几个位的值 *注意: * 1. 对于宏,其参数不要用++i;之类的表达式!也不要直接使用调用函数得到的返回值! * 2. 如果type是寄存器,那么它必须是可读的 *示例: * u8 a = 0xf0; * AssignBit(u8, a, BIT4 | BIT0, BIT0); * 执行完后,a == 0xe1; *备注: * 1. 效率上, 如果参数(除flag外)都是常量, 编译器会自动优化, 如果参数是变量, 就算手动写代码也是这个样子的 * 2. (which_bit) 括号是为了保证 AssignBit(flag, BIT0 | BIT1, 0)之类的用法不会出错
下载说明:请别用迅雷下载,失败请重下,重下不扣分!