注意:在使用PB13,14,15作为spi通信接口时,由于空闲时间SCL为低,所以在配置这三个口初始电平时应配置为低电平,否则可能导致第一个帧数据就发送出错,我自己被这一步折磨了好久,一直没找出来原因。再者,在void SPI1_ReadWriteByte(u8 TxData)中,将数据放到SPI1->DR中后要加一个延时,确保数据成功发出。
————————————————
配置完spi后,就是按照显示屏驱动手册中的指令来控制显示屏以及传入图像数据。
//发送字节(8bit)函数
void SendByte(unsigned char data)
{
SPI1_ReadWriteByte(data);
}
//发送图像数据函数
void lcd_SendData(unsigned char data)
{
//DC接口设置为高电平时,SDA接口传入的为数据
lcd_DC_1;//设置DC接口为高电平
SPI_CS_0;
SendByte(data);
SPI_CS_1;
}
//lcd_DC_1;是用来设置DC引脚为高电平。SPI_CS_0是用来设置CS引脚为低电平
//都是普通io口的设置,方法如下:其他的根据例子自己定义
//#define SPI_CS_0 GPIOB->BRR=0x1000
//#define SPI_CS_1 GPIOB->BSRR=0x1000
|