主机环境:Windows 7 SP1
开发环境:MDK5.14
目标板:ST NUCLEO-F303RE
TFT型号:2.4英寸,带触摸,SD卡,240*320分辨率,26万色
驱动IC:ILI9325
ST库版本:STM32Cube_FW_F3_V1.1.0
SD卡:Kingston 16GB Micro SDHC Class 10
触摸IC:XPT2046
关于XPT2016的说明可以从网上下载很多资料,XPT2046使用SPI通信接口,接口说明如下:
多出了一个BUSY脚和一个PENIRQ脚,BUSY信号指示XPT2046工作状态,但是在使用过程中发现其不起作用,所以就没用了,PENIRQ为中断指示脚,当触摸屏有接触时其信号会变成低电平。对于NUCLEO-F303RE来说SPI1接口在BSP里面用作了SD卡接口,因此这里使用SPI3接口来跟XPT2046进行通信,接口声明如下
/* Definition for SPI_XPT2046 clock resources */
#define SPI_XPT2046 SPI3
#define SPI_XPT2046_CLK_ENABLE() __SPI3_CLK_ENABLE()
#define SPI_XPT2046_CLK_DISABLE() __SPI3_CLK_DISABLE()
#define SPI_XPT2046_nCS_GPIO_CLK_ENABLE() __GPIOA_CLK_ENABLE()
#define SPI_XPT2046_SCK_GPIO_CLK_ENABLE() __GPIOC_CLK_ENABLE()
#define SPI_XPT2046_MISO_GPIO_CLK_ENABLE() __GPIOC_CLK_ENABLE()
#define SPI_XPT2046_MOSI_GPIO_CLK_ENABLE() __GPIOC_CLK_ENABLE()
#define SPI_XPT2046_FORCE_RESET() __SPI3_FORCE_RESET()
#define SPI_XPT2046_RELEASE_RESET() __SPI3_RELEASE_RESET()
/* Definition for SPIx Pins */
#define SPI_XPT2046_SCK_PIN GPIO_PIN_10
#define SPI_XPT2046_SCK_GPIO_PORT GPIOC
#define SPI_XPT2046_SCK_AF GPIO_AF6_SPI3
#define SPI_XPT2046_MISO_PIN GPIO_PIN_11
#define SPI_XPT2046_MISO_GPIO_PORT GPIOC
#define SPI_XPT2046_MISO_AF GPIO_AF6_SPI3
#define SPI_XPT2046_MOSI_PIN GPIO_PIN_12
#define SPI_XPT2046_MOSI_GPIO_PORT GPIOC
#define SPI_XPT2046_MOSI_AF