# st7567 **Repository Path**: mengplus/st7567 ## Basic Information - **Project Name**: st7567 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-04-05 - **Last Updated**: 2025-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ST7567 LCD 驱动程序 ## 项目概述 本项目实现了基于 ST7567 LCD 控制器的驱动程序,支持基本的显示功能,包括字符显示、像素绘制、屏幕更新等。项目基于 RT-Thread 实时操作系统开发,适用于嵌入式系统。 ## 功能特性 - 初始化 ST7567 LCD 控制器 - 设置对比度 - 清屏功能 - 绘制字符和字符串 - 绘制像素点 - 支持缓存区更新和直接像素绘制 - 提供测试用例 ## 文件结构 ``` st7567/ ├── src/ # 驱动核心代码 │ ├── lcd_st7567.c # 驱动实现 │ ├── lcd_st7567.h # 驱动头文件 ├── port/ # 硬件平台相关代码 │ └── lcd_st7567_port.c ├── test/ # 测试代码 │ └── lcd_st7567_test.c ├── SConscript # 构建脚本 └── README.md # 项目说明文档 ``` ## 环境依赖 - RT-Thread 实时操作系统 - 支持 GPIO 和 SPI 的硬件平台 - 编译工具链:GCC 或其他支持的工具链 ## 使用方法 ### 1. 驱动初始化 在项目中调用 `ST7567_Init()` 函数完成 LCD 初始化。 ```c #include "lcd_st7567.h" int main(void) { ST7567_Init(); return 0; } ``` ### 2. 测试驱动 在 RT-Thread Shell 中运行以下命令测试驱动: ```shell msh /> lcd_test ``` 测试代码位于 `test/lcd_st7567_test.c`,包括清屏、绘制字符、绘制线条等功能。 ### 3. 修改对比度 调用 `ST7567_SetContrast(uint8_t contrast)` 设置对比度,`contrast` 范围为 0x00 到 0x3F。 ```c ST7567_SetContrast(0x30); ``` ### 4. 绘制像素点 调用 `ST7567_DrawPixel(uint8_t x, uint8_t y, uint8_t color)` 绘制像素点。 ```c ST7567_DrawPixel(10, 10, 1); // 在 (10, 10) 绘制一个白色像素 ``` ### 5. 更新屏幕 调用 `ST7567_Update()` 将缓存区内容更新到屏幕。 ```c ST7567_Update(); ``` ## 构建与运行 使用 RT-Thread 提供的构建工具(如 `scons`)进行编译: ```shell scons ``` 生成的固件可直接烧录到目标硬件平台。 ## 注意事项 - 硬件引脚定义在 `port/lcd_st7567_port.c` 文件中,请根据实际硬件修改。 - 软件 SPI 的延时可能需要根据硬件速度调整。 ## 许可证 本项目基于 MIT 许可证开源,详情请参阅 LICENSE 文件。