I2C总线硬件简单,资源消耗少,只有时钟和数据线。协议设计精巧、易用、灵活;可以传输数据、指令、地址,因此使用广泛,现在几乎所有的MCU及各种控制器都集成了I2C总线。本文章主要介绍I2C接口LCD在STM32环境下的调试方法。
硬件资源
—LCD:RSCG12864B(内建字库、支持基础图形绘制、图片存储功能)
—MCU:STM32F103C8T
控制原理
—此例用STM32F103C8T的I2C1控制RSCG12864B
—PB7(SDA)连接RSCG12864B的SDA,PB6(SCL)连接RSCG12864B的SCL
—RSCG12864B内部自带复位信号,同时支持通过RST硬件复位。
—RSCG12864的BUSY信号为忙反馈信号,可连接MCU的任意IO口判断处理。如果画面更新频率不高的话,此信号悬空处理即可。A0,A1为地址信号,具体详见产品手册。
程序设计
—此例介绍采用“STM32CubeMX”工具(下载地址https://www.st.com:)生产项目文件,并在项目文件中添加RAYLID提供的应用库,实现对LCD控制的方法。
—项目程序生成步骤
1:打开“STM32CubeMX”-->File-->New Project
2.选择MCU型号
3.配置参数
4.项目设置
5.Library类型选择
6.点击“GENERATE CODE”生成项目文件,将“RSCG12864B.c”拷贝至项目文件夹的“Src”目录下,将“RSCG12864.h”拷贝至项目文件夹的“Inc”目录下。
7.用IDE打开新建的项目文件,并添加“RSCG16864B.c”,在main.c文件头添加“#include "RSCG12864B.h",如果在此项目其它程序文件中用到LCD API,用同样的方法引用库函数。
8开始添加显示代码,此例主要介绍应用方法说明,直接在main函数里添加应用代码,参考如下
有需要软件的朋友,联系我,免费提供,我的邮箱sales@raylid.com qq:1589388995