千家信息网

LiteOS裸机驱动移植02LCD的方法是什么

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容介绍了"LiteOS裸机驱动移植02LCD的方法是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学
千家信息网最后更新 2026年11月02日LiteOS裸机驱动移植02LCD的方法是什么

本篇内容介绍了"LiteOS裸机驱动移植02LCD的方法是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1. LCD裸机驱动

开发板使用的LCD屏幕为1.3寸的TFT彩屏,色彩深度16bit,分辨率240*240,使用 SPI 接口与 MCU 之间通信。

2. 移植LCD裸机驱动到LiteOS

复制裸机驱动文件到LiteOS工程

LCD的底层是使用SPI驱动的,那么除了 STM32CubeMX 生成的spi.h和spi.c文件,还需要自己在此基础上手写LCD屏幕的驱动文件。

在复制文件的时候,按照上一篇文章中所说的,复制spi.h到Inc 文件夹,复制spi.c到 Src 文件夹,再复制自己编写的驱动文件lcd.c、lcd.h以及字库文件font.h到 Hardware文件夹。

IoT-Studio中提供的默认工程已经复制好了这些文件,无需再次添加,如图:

添加驱动文件路径

因为 LiteOS 的整个项目工程使用 make 构建,所以复制驱动文件之后,需要添加驱动文件的路径到 makefile 中,加入编译。

project.mk文件指明了工程中所有文件的路径:

在该文件中:

  • C文件路径

    • HARDWARE_SRC:对应Hardware文件夹下的Src文件夹

    • USER_SRC:对应Src文件夹

  • 头文件路径

    • HARDWARE_INC:对应Hardware文件夹下的Inc文件夹

    • USER_INC:对应Inc文件夹

如下,LCD驱动的底层SPI接口代码spi.c路径添加到USER_SRC中:

LCD驱动的底层SPI接口代码spi.h路径添加到USER_INC中:

基于SPI驱动的LCD屏幕驱动文件lcd.c添加到HARDWARE_SRC中:

基于SPI驱动的LCD屏幕驱动头文件lcd.h和字库文件font.h添加到 HARDWARE_INC 中:

至此,复制文件到LiteOS工程中,并将新复制的文件路径添加到makefile中,加入工程编译,就完成了驱动的移植。

3. LCD裸机驱动的使用

初始化LCD

在上一篇文章中详细的讲述了在LiteOS中初始化设备的两种方式:

  • 在系统启动调度之前初始化:设备在系统中随时可被任意任务使用

  • 在任务中初始化:设备一般只在该任务中被使用

本文中移植的LCD设备,并不需要专门的任务去操作LCD,所以应该在系统启动之前就进行初始化,然后每个任务都可以操作LCD设备进行显示。

在 main.c 中的 HardWare_Init()函数中添加 LCD 初始化代码:

这里为了不影响后面的实验,将工程中默认的字符显示代码注释掉:

操作LCD

接下来首先创建一个文件夹(如果已有,不用再次创建),用于存放本系列教程实验的代码:

在该文件夹中创建一个文件:

编写代码:

#include #include static int lcd_demo_entry(){        //测试显示字符        POINT_COLOR = BLUE;                           LCD_ShowString(0, 0, 240, 32, 32, "Welcome To IoT");                POINT_COLOR = RED;            LCD_ShowString(0, 32, 240, 24, 24, "I am BearPi");        POINT_COLOR = BLACK;          LCD_ShowString(0, 56, 240, 16, 16, "LCD Test ......");        POINT_COLOR = GREEN;        LCD_ShowString(0, 72, 240, 12, 12, "Powerd by Huawei LiteOS!");        //测试绘制矩形        POINT_COLOR = BLUE;        LCD_DrawRectangle(20, 100, 120, 200);        //测试绘制圆        POINT_COLOR = RED;        LCD_Draw_Circle(180, 150, 50);        return 0;}int standard_app_demo_main(){    osal_task_create("lcd_demo",lcd_demo_entry,NULL,0x400,NULL,2);    return 0;}

然后按照之前的方法,在 user_demo.mk 中将lcd_driver_demo.c文件添加到makefile中,加入编译:

最后在.sdkconfig中配置开启宏定义:

编译,烧录,即可看到LCD屏幕的显示:

"LiteOS裸机驱动移植02LCD的方法是什么"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

文件 驱动 文件夹 路径 工程 裸机 代码 移植 任务 屏幕 设备 编译 方法 底层 接口 系统 测试 接下来 内容 再次 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡 咖啡网 互联网属科技 互联网最新的科技有限公司 与互联网科技公司 碳银互联网科技 上海喔噻互联网科技 中国最先进互联网科技公司 岳阳华臻互联网科技有限公司 荆州市昕露互联网络科技有限公司 洛阳昕诺飞互联网科技有限公司 呼和浩特新华互联网科技学院 国大互联网教育科技有限公司工作 东莞新华互联网科技学校 神州科技互联网有限公司 兰石爱特工业互联网科技分公司 马化腾互联网科技教学 山东蛋芒互联网科技有限公司 河南商务圈互联网科技有限公司 互联网 科技节活动 微视频大赛 天津市摩尔互联网科技 无线互联网科技 滨湖区互联网智能科技产品供应 老年人脱离互联网科技的作文 互联网大会黑科技排名 港股科技和互联网 重庆互联网医院沙龙医盟信息科技 民营互联网公司国防科技 山东有哪些互联网科技公司 好易买互联网科技
0