2024年3月25日发(作者:)

高通字库芯片GT20L16S1Y驱动0.96寸OLED任意显示中文

连续两个月的加班,给ODM客户生产温控器订单,今天终于顺利发货,对于工程师

出身的我,终于可以对着电脑,消停几天,研究技术,分享技术了,闲话少说,直接进入

正题:

半年前有个老客户介绍个中央某院的项目,我主业是做各种温控器的,老客户介绍的

新客户,没法推脱,就干吧,项目需求具体细节不方便公开,说说本次要分享的部分,要

实现的功能是一个OLED任意显示一段中文句子。

项目的硬件组成比较简单:STM8L051+ KEY + OLED + GT20L16S1Y

软件平台:IAR

整个项目没什么难点,但没做过这个的,也需要一番折腾,在这里,我把项目的主要

代码贴出来供电友们参考,也感谢之前版本的电友。做个靠谱的电友,除了分享单独

的.c.h驱动文件,最后还会有调用伪代码,也就是整个代码的调用过程。

一:高通字库芯片驱动程序:

1. // .c文件

2. #include "stm8l15x.h"//STM8L051/151等系列共用库函数

3. #include "GT20L16S1Y.h"

4. #define S1Y_CLK_L (GPIO_ResetBits(GPIOB,GPIO_Pin_4))

5. #define S1Y_CLK_H (GPIO_SetBits(GPIOB,GPIO_Pin_4))

6. #define S1Y_CS_L (GPIO_ResetBits(GPIOB,GPIO_Pin_5))

7. #define S1Y_CS_H (GPIO_SetBits(GPIOB,GPIO_Pin_5))

8. #define S1Y_SI_L (GPIO_ResetBits(GPIOB,GPIO_Pin_6))

9. #define S1Y_SI_H (GPIO_SetBits(GPIOB,GPIO_Pin_6))

10. #define S1Y_SO GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_7)

11. void GT20L16_init(void)

12. {

13. /* GT20L16S1Y 引脚配置 */

14. GPIO_Init(GPIOB, GPIO_Pin_4, GPIO_Mode_Out_PP_Low_Fast); //高

速推挽输出低电平[SCLK]

15. GPIO_Init(GPIOB, GPIO_Pin_5, GPIO_Mode_Out_PP_Low_Fast); //高

速推挽输出低电平[CS]