STM32 的SPI 应用之LCD 开始本来先玩串口,虽然程序已经跑通,但是由于网上类似文章很多,就先来个SPI玩玩,与上次GPIO 一样,技术含量仍然不高,仅是业余学习玩玩
1、 首先来开硬件电路,个人觉得是编写程序的第 2 步;第 1 步当然是先看 STM32 的手册了,SPI 的详细介绍见 STM32 的中文使用手册
这个电路的正确性是以我把它点亮为依据的,不是我设计的,我也不会,但是我驱动它关心的是那几个信号引脚怎么接的
这里采用的是SPI 口,加上几根控制线
关于SPI 口的介绍不大清楚的朋友可以查下相关资料,一般具有 SPI 接口的处理器的手册都有比较详细的介绍
结合 STM32 的手册对引脚的描述: 可以看出,SPI1 的4 根引脚 MISO、MOSI、SCK(CLK)、CSN(CS)分别对应的引脚为 GPIO 的:PA6、PA7、PA5、PA4
所以 LCD 的控制线与处理器的GPIO 具体对应如下: LCD_RST--------------PC7 LCD_RS------------------PC8 LCD_CLK-----------------------PA5 LCD_SDO-----------------------PA7 LCD_CS----------------------PA8 LCD_PWR----------------PC1 其实也就这六根信号线就能驱动LCD 了
2、这里必须关心的是 SPI 口对应的 4 根线,这里只用到了两根MOSI(PA7)、CLK(PA5),片选 CSN 用的是通用 IO 口 PA8 代替,至于 MISO 这里可以不用使用
所以在初始化 SPI 口是有如下程序: void SetupSPI(void) { SPI_InitTypeDef SPI_InitStructure; GPIO_Ini