STM8的指令系统本身不支持位操作,一般通过以下方式进行位操作:
例如:
PA_ODR |= 0x04;//将PA_ODR寄存器的bit2置1
PB_DDR |= (1 << 5);//将PB_DDR寄存器的bit5置1
TIM1_IER &=~ 0x01;//将TIM1_IER的bit0置0
ADC_CR3 &=~ (1 << 6);//将ADC_CR3的bit6置0
[1] 固定地址:static volatile uchar flagA @0x0012;
[2] 位定义: _Bool fU3TX @flagA:7;
[3] 直接赋值: fU3TX=1; fU3TX=0; fU3TX=~fU3TX;
搞定!