洋桃技术支持0001:GPIO驱动12864液晶屏需要注意哪些事项?
【提问】请问洋桃1号开发板的GPIOB端口要使用的话,硬件上和软件上需要注意什么?我想用STM32上的GPIOB端口控制点亮一个20口的12864液晶屏?
解答:
【方法论】
1,解决这个问题的方法是查找数据手册,要熟悉GPIO在手册上写的属性和注意事项。因为要连接的是LCD12864屏,还要阅读屏幕的数据手册,了解屏幕接口的特性。
2,然后去百度搜索“STM32 LCD12864” 或 “STC32 12864 电路图”。查找有没有其他做过这个设计,借鉴别人的设计案例。
【经验论】
1,STM32单片机与其他外部模块连接时,第一需要注意的是电压,STM32是3.3V电源,如果LCD12864模块的工作电压是3.3V则没有问题。如果是5V则需要考虑电源兼容,一定要使用STM32上兼容5V电压的GPIO。
2,其次是接口电平兼容性,考虑TTL和CMOS电平问题,还有LCD接口电平的要求,比如某个接口需要上拉、某个要下拉、某个要高阻。在单片机初始化程序里要设置好对应的GPIO模式。
3,最后要考虑的是接口复用。STM32的PB组接口复用了很多功能,特别是有几个接口在上电后默认为是JTAG功能,必须在初始化程序里改为GPIO模式(这个方法在《STM32入门100步》中有详细讲解)。另外PB2接口复用为BOOT1,这个接口会影响bootloader启动方式,要重点关注。
4,如上所说的方式方法还适用于LCD1602等其他规格的显示屏,也部分适用于各种单片机外围模块。
【建议】
1,STM32驱动LCD屏时,尽量使用LCD模块的串口通信。因为并口会占用很多GPIO,浪费资源。
2,当通信速度较高时,要考虑稳定性,匹配适合的上/下拉电阻值。