新手上路
- 积分
- 22
- 金钱
- 22
- 注册时间
- 2018-1-5
- 在线时间
- 3 小时
|
发表于 2018-1-5 17:31:35
|
显示全部楼层
我用STM32F373驱动ILI9342,就是用的SPI的单线半双工方式。向ILI9342发送数据没有问题。LCD可以正常显示。但是从ILI9342读取GRAM数据中的数据时(发送0x2E指令),可以成功读取到一个pixel的显示数据。但是后续就再也不能控制ILI9342了,经过调试发现只要发送了0x2E指令,就不能控制ILI9342
SPI初始化代码:
SPI_Cmd(SPI2, DISABLE);
SPI_StructInit(&SPI_InitStructure);
//SPI2 Config
SPI_InitStructure.SPI_Direction = SPI_Direction_1Line_Tx;
SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;
SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;
SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;
SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_4;
SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
SPI_InitStructure.SPI_CRCPolynomial = 7;
SPI_Init(SPI2, &SPI_InitStructure);
//Enable SPI2
SPI_Cmd(SPI2, ENABLE);
SPI_NSSInternalSoftwareConfig(SPI2, SPI_NSSInternalSoft_Set);
准备接受数据时执行:SPI_BiDirectionalLineConfig(SPI2,SPI_Direction_Rx); ,让SPI总线处于接受模式。
接受完毕后执行:SPI_BiDirectionalLineConfig(SPI2,SPI_Direction_Tx); 将SPI总线切回发送模式。
|
|