等号左边为寄存器名称,右边为相应的位掩码。
例如想要将一个寄存器的第0位和第7位置1,当然可以写成:
RegXXX = 0x81;
也可以写为:
RegXXX = 0x01 | 0x80;
假设这个寄存器的第0位是使能,第7位是加倍,那么可在程序开头或器件头文件中定义:
#define XXX_ENABLE 0x01
#define XXX_DOUBLE 0x80
在程序中书写:
RegXXX = XXX_ENABLE | XXX_DOUBLE;
这样的主要优点是清晰明了,即使对于这款单片机不熟悉的人也能一眼就看懂这行语句的目的。例如我虽然从未接触过STC单片机,但是我能知道你的那句程序大致是要为ADC模块开启供电、配置速度并打开指定的某个通道。
以上。
相当于“+”置1