# st7735屏幕驱动组件 **Repository Path**: oneos-ability/st7735-component ## Basic Information - **Project Name**: st7735屏幕驱动组件 - **Description**: 基于OneOS的st7735屏幕驱动组件 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-07 - **Last Updated**: 2024-11-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ST7735 ## 1、介绍 这是一个在Oneos上,ST7735-SPI屏幕的驱动。代码实现了屏幕的显示,并支持点、线、字符等多种显示命令。 本驱动可直接通过menuconfig直接进行配置,开发使用方便,使能后可直接使用。由于Oneos的GD32F1的SPI驱动并未完善,所以在移植本驱动时同时也完善的Oneos的GD32F1系列SPI驱动程序。 ### 1.1 目录结构 Lib_Dev为驱动代码路径 **dev_spi.c** **drv_spi.c** **drv_spi.h**这三个文件为GD32F1修改的Oneos驱动,其它MCU无需使用。 | 名称 | 说明 | | ------------ | ---------------------- | | docs/api.md | 应用编程接口说明 | | st7735_spi.c | st7735_spi驱动源文件 | | st7735_spi.h | st7735_spi驱动头文件 | | st7735_lcd.c | st7735_lcd应用层源文件 | | st7735_lcd.h | st7735_lcd应用层头文件 | | SConscript | Oneos编译构建脚本 | | Kconfig | menuconfig配置文件 | | README.md | 软件包使用说明 | ### 1.2 许可证 本驱动 遵循 `LGPLv2.1` 许可,详见 `LICENSE` 文件。 ### 1.3 依赖 依赖 `Oneos SPI` 设备驱动框架。 ## 2、如何获取软件包 ​ Gitee链接如下:[GD32F1-SPI+ST7735](https://gitee.com/lele_0101/oneos--gd32-f1--spi--st7735.git) ## 3、如何使用代码包 本驱动实现基于Oneos的SPI设备驱动框架,在打开 使能ST7735后,请务必打开至少1个SPI设备。 ### 1. 解压源代码 收下你从Oneos官网下载一份代码,进行解压。 ### 2. 创建GD321F工程 然后直接将Lib_Dev粘贴到GD32工程根目录下。 ![image-20220903001301523](Readme.assets/image-20220903001301523.png) 将工程根目录下的Kconfig文件更换为我所提供的Kconfig文件。 ![image-20220903001341594](Readme.assets/image-20220903001341594.png) ### 3. 修改驱动文件 ![image-20220903001410219](Readme.assets/image-20220903001410219.png) 将**OneOS-master\projects\GD32F103VE\board\peripheral**下的dev_spi.c文件替换为我提供的SPI文件。 将**OneOS-master\drivers\hal\gd\drivers\f10x**下的drv_spi.c和drv_spi.h替换为我提供的驱动文件 ![image-20220903001543682](Readme.assets/image-20220903001543682.png) 到这里就完成了驱动的移植。 ### 4. menuconfig配置 在工程目录下打开menuconfig,打开Onboard Peripheral Drivers选项卡 ![image-20220903001726970](Readme.assets/image-20220903001726970.png) 直接使用ST7735驱动,下面的SPI引脚需要根据各自的SPI引脚进行适配。我在GD321上使用的SPI0,对应的引脚就是这四个 ![image-20220903001824075](Readme.assets/image-20220903001824075.png) 在Drivers/HAL中打开对应SPI的驱动,然后保存,scons--ide=mdk5生成工程代码。 ![image-20220903001917018](Readme.assets/image-20220903001917018.png) ### 5. 修改内存文件 不知道为什么,GD32F1生成的工程,Flash和ROM映射的地址都不对。 ![image-20220903003933964](Readme.assets/image-20220903003933964.png) 将CONFIG_BSP_TEXT_SECTION_ADDR 改为0x08000000 将CONFIG_BSP_TEXT_SECTION_SIZE 改为0x00080000 然后再重新用scons编译,不改会出现程序无法运行。 ![image-20220903005206217](Readme.assets/image-20220903005206217.png) ## 4、编译运行 修改完成后就可以编译运行了。使用起来还是比较简单的,我在驱动中用了ulog日志,如果需要调试请打开ulog显示日志。 OS_APP_INIT(display_st7735_sample,OS_INIT_SUBLEVEL_MIDDLE); 在st7735_lcd.c中有一个sample的app,屏幕会固定时间刷新。当启动ST7735后它会自动运行。 image-20220903005808515 image-20220903005824630 image-20220903005834518