//0x23--- 0010 0011
data_rx<<=1;//默认读取到的数据为0
if(SPI_MISO)data_rx=data_rx|0x01;
}
SPI_CLK=0;//空闲电平为低电平
return data_rx;
}
#### 2.2 硬件SPI配置
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/7c768447e7ed4fbf856c60805c50be4d.png#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/129329f344b94cf8818c15153dd5e18b.png#pic_center)
uint8_t SPI1_WROneByte(uint8_t data)
{
HAL_SPI_Transmit(&hspi1,&data,1,100);
return 0;
}
关于SPI硬件配置详细介绍参考:[STM32 SPI硬件配置]( )
#### 2.2 写数据和写命令
当采用SPI接口驱动时,D/C引脚作为数据命令选择脚,D/C=0时读写命令,D/C=1时读写数据。
/************************************************************
函数说明:LCD写入数据
入口数据:dat 写入的数据
返回值: 无
**************************************************************/
void LCD_WR_DATA(u16 dat)
{
OLED_CS(0);
OLED_DC_Set();//写数据
LCD_Writ_Bus(dat>>8);
LCD_Writ_Bus(dat);
OLED_CS(1);
}
/****************************************************
函数说明:LCD写入命令
入口数据:dat 写入的命令
返回值: 无
*****************************************************/
void LCD_WR_REG(u8 dat)
{
OLED_CS(0);
OLED_DC_Clr();//写命令
LCD_Writ_Bus(dat);
OLED_CS(1);
}
### 3.常用命令介绍
(1)设置屏幕扫描方向0x36
![在这里插入图片描述](https://img-blog.csdnimg.cn/98e28fd39feb4bc7b48b41e