正点原子OLED实验中,通过拼凑法输出一个数据疑惑
//通过拼凑的方法向OLED输出一个8位数据
//data:要输出的数码
//8位对应的引脚为PE6/PE5/PB6/PC11/PC9/PC8/PC7/PC6/
void OLED_Data_Out(u8 data)
{
u16 dat=data&0X0F;
GPIOC->ODR&=~(0XF<<6);//清空6~9
GPIOC->ODR|=dat<<6;//D[3:0]-->PC[9:6]
GPIO_Write(GPIOC,dat<<6);
PCout(11)=(data>>4)&0X01;//D4
PBout(6)=(data>>5)&0X01;//D5
PEout(5)=(data>>6)&0X01;//D6
PEout(6)=(data>>7)&0X01;//D7
}
已经ODR 先清零四位了,然后在写入四位的值了,为啥还要再来个GPIO_Write写呢,多此一举,无法理解!