0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【开鸿智谷NiobeU4开发板免费试用体验】多线程与LCD显示

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-10-14 14:49 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文来源电子发烧友社区,作者:xiaopeng, 帖子地址:https://bbs.elecfans.com/jishu_2308690_1_1.html


前言

开鸿智谷开发板NiobeU4板载了一块spi接口的显示屏,分辨率为130*135,用来显示一些关键的信息也是非常不错的。本篇利用这块屏结合多线程来显示中英文,图形等。

建立自己的工程

官方源码的dmo文件夹下提供了很多的例程:

image.png

其中107是LCD的例程,002是多线程例程。这两个例程是本次需要参考的例程。

为了方便后续功能开发,需要建立一个自己的工程,步骤如下:

1、复制107_hdf_spi文件夹并重命名weather_project;

2、修改.application_config文件

11.png

3、修改Kconfig.liteos_m.applications文件

22.png

工程建立到这里就基本完成了,如果不修改源码,应该就可以选择对应的工程直接编译下载了。

添加display任务

新建两个c文件,一个是main.c,另一个是TaskDisplay.c

在main函数中调用display_task_create();函数去创建display任务。

33.png

TaskDisplay.c文件中主要有两个函数的实现,一个是display任务的创建函数,另一个是display任务主体

#include 
#include "stdint.h"
#include "los_task.h"
#include "ohos_run.h"
#include "st7735.h"
#include "config.h"

UINT32 g_taskDisplayId;
extern void color_test(void);
extern void str_test(void);
extern void draw_test(void);

void TaskDisplay(void)
{
    LcdInit();
    while (1) {
        {
            str_test();
            LOS_Msleep(3000);
            draw_test();
            LOS_Msleep(1000);
            color_test();
            LOS_Msleep(1000);
            
        }
        
    }
}

//create display task
void display_task_create(void)
{
    UINT32 ret;
    TSK_INIT_PARAM_S initParam = {0};
    /* 锁任务调度,防止新创建的任务比本任务高而发生调度 */
    LOS_TaskLock();
    printf("LOS_TaskLock() Success!rn");

    initParam.pfnTaskEntry = (TSK_ENTRY_FUNC)TaskDisplay;
    initParam.usTaskPrio = TASK_PRIOR_DISPLAY;
    initParam.pcName = "Task Display";
    initParam.uwStackSize = LOSCFG_BASE_CORE_TSK_DEFAULT_STACK_SIZE;
    //initParam.uwResved = LOS_TASK_ATTR_JOINABLE; /* detach 属性 允许使用LOS_TaskJoin */

    /* 创建高优先级任务,由于锁任务调度,任务创建成功后不会马上执行 */
    ret = LOS_TaskCreate(&g_taskDisplayId, &initParam);
    if (ret != LOS_OK) {
        LOS_TaskUnlock();

        printf("TaskDisplay create Failed!rn");
        return LOS_NOK;
    }
    printf("TaskDisplay create Success!rn");    

    /* 解锁任务调度,此时会发生任务调度,执行就绪队列中最高优先级任务 */
    LOS_TaskUnlock();    
}

增加其它文件

任务创建好以后,对于LCD的中英文显示和简单图形的显示,还需要实现一些相关函数。详细过程不在这里做详细说明。

最终实现完成后文件结构如下:

image.png

config.h主要定义一些全局宏。
font.h用来定义中英文字体
gui.c用来实现具体的显示方法
test.c用来实现一些测试用例

修改BUILD.gn文件

代码编写完成后,需要在BUILD.gn文件指定源文件和头文件路径

image.png

选择weather_project工程进行编译

使用make menucofig进入配置界面选择我们自己的工程

image.png

编译

使用hb build -f进行编译

编译完成后如下

image.png

下载

使用esptool.py进行下载

下载完成后如下

image.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开鸿智谷
    +关注

    关注

    2

    文章

    168

    浏览量

    1873
  • NiobeU4
    +关注

    关注

    3

    文章

    31

    浏览量

    730
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【作品合集】润鸿HH-SCDAYU800A开发板测评

    防护,包含丰富的异构计算和高速IO资源。 活动详情地址:【OH专题】润鸿HH-SCDAYU800A开发板免费试用 作者:伞振凯【润
    发表于 09-19 14:09

    【作品精选】2025电子发烧友开发板测评大赛作品合集!

    视美泰GM-3568JHF开发板免费试用 OpenHarmony专题:汇思博SEEK100开发板套件免费
    发表于 09-03 15:24

    鸿开发板深度体验:从开源鸿蒙开发到AI场景实践

    鸿开发板KaihongBoard-3588S-SBCKaihongBoard-3576-SBC体验开源鸿蒙能力学习开源鸿蒙开发●●●搭载KaihongOS
    的头像 发表于 07-03 17:03 1230次阅读
    <b class='flag-5'>开</b><b class='flag-5'>鸿</b><b class='flag-5'>开发板</b>深度体验:从开源鸿蒙<b class='flag-5'>开发</b>到AI场景实践

    【润鸿HH-SCDAYU800A开发板试用体验】润鸿HH-SCDAYU800A开发板(二)

    (三)润鸿HH-SCDAYU800A开发板固件烧录 注意:本烧录方法仅可用于Windows10及之前版本。 1.安装USB驱动 1.1下载润鸿
    发表于 07-02 09:30

    有奖丨米尔 瑞芯微RK3506开发板免费试用

    米尔与瑞芯微合作发布的新品基于瑞芯微RK3506应用处理器的MYD-YR3506开发板免费试用名额来啦~~米尔提供了3块价值299元的MYD-YR3506开发板发起
    的头像 发表于 06-19 08:04 877次阅读
    有奖丨米尔 瑞芯微RK3506<b class='flag-5'>开发板</b><b class='flag-5'>免费</b><b class='flag-5'>试用</b>

    有奖丨米尔 瑞芯微RK3562开发板免费试用新增名额!

    米尔与瑞芯微合作发布的新品基于瑞芯微RK3562应用处理器的MYD-YR3562开发板免费试用名额增加
    的头像 发表于 06-13 08:04 880次阅读
    有奖丨米尔 瑞芯微RK3562<b class='flag-5'>开发板</b><b class='flag-5'>免费</b><b class='flag-5'>试用</b>新增名额!

    基于RK3576处理器,米尔RK3576开发板免费试用

    年7月19日   评测数量: 3块   更多热点文章阅读 基于平头哥TH1520芯片,润鸿HH-SCDAYU800A开发板免费试用 RIS
    的头像 发表于 06-09 15:00 958次阅读
    基于RK3576处理器,米尔RK3576<b class='flag-5'>开发板</b><b class='flag-5'>免费</b><b class='flag-5'>试用</b>

    搭载OpenHarmony操作系统,视美泰SC-3568HA开发板免费试用

    : 10块   更多热点文章阅读 基于平头哥TH1520芯片,润鸿HH-SCDAYU800A开发板免费试用 RISC-V
    的头像 发表于 06-05 16:45 1035次阅读
    搭载OpenHarmony操作系统,视美泰SC-3568HA<b class='flag-5'>开发板</b><b class='flag-5'>免费</b><b class='flag-5'>试用</b>

    基于RK处理器,创龙TL3562-MiniEVM开发板试用体验

    数量: 10块   更多热点文章阅读 基于平头哥TH1520芯片,润鸿HH-SCDAYU800A开发板免费试用 RISC-V
    的头像 发表于 06-05 16:31 947次阅读
    基于RK处理器,创龙TL3562-MiniEVM<b class='flag-5'>开发板</b><b class='flag-5'>试用</b>体验

    性能强悍!合众HZ-RK3568开发板试用体验

    月19日   评测数量: 10块   更多热点文章阅读 基于平头哥TH1520芯片,润鸿HH-SCDAYU800A开发板免费试用 RISC
    的头像 发表于 06-05 16:30 1138次阅读
    性能强悍!合众HZ-RK3568<b class='flag-5'>开发板</b><b class='flag-5'>试用</b>体验

    有奖丨米尔 NXP i.MX91开发板免费试用来啦

    米尔与NXP合作发布的新品基于NXPi.MX91应用处理器的MYD-LMX91开发板免费试用名额来啦~~米尔提供了3套价值588元的MYD-LMX91开发板发起
    的头像 发表于 06-05 08:02 1133次阅读
    有奖丨米尔 NXP i.MX91<b class='flag-5'>开发板</b><b class='flag-5'>免费</b><b class='flag-5'>试用</b>来啦

    【评测试用】合众HZ-T536开发板免费试用体验

    【评测试用】合众HZ-T536开发板免费试用体验
    的头像 发表于 05-27 08:05 719次阅读
    【评测<b class='flag-5'>试用</b>】合众HZ-T536<b class='flag-5'>开发板</b><b class='flag-5'>免费</b><b class='flag-5'>试用</b>体验

    免费丨米尔 STM32MP257开发板有奖试用

    米尔与ST合作发布的新品基于STM32MP257应用处理器的MYD-LD25X开发板免费试用活动来啦~~米尔提供了2块价值488元的MYD-LD25X开发板发起
    的头像 发表于 03-20 08:05 909次阅读
    <b class='flag-5'>免费</b>丨米尔 STM32MP257<b class='flag-5'>开发板</b>有奖<b class='flag-5'>试用</b>

    有奖丨米尔 瑞芯微YR3562开发板免费试用

    米尔与瑞芯微合作发布的新品基于瑞芯微RK3562应用处理器的MYD-YR3562开发板免费试用活动来啦~~米尔提供了3块价值599元的MYD-YR3562开发板发起
    的头像 发表于 03-20 08:05 828次阅读
    有奖丨米尔 瑞芯微YR3562<b class='flag-5'>开发板</b><b class='flag-5'>免费</b><b class='flag-5'>试用</b>

    有奖试用!!RA-Eco-RA4M2-100PIN-V1.0开发板试用活动报名

    RA-Eco-RA4M2-100PIN-V1.0开发板试用活动
    的头像 发表于 03-13 12:10 872次阅读
    有奖<b class='flag-5'>试用</b>!!RA-Eco-RA<b class='flag-5'>4</b>M2-100PIN-V1.0<b class='flag-5'>开发板</b><b class='flag-5'>试用</b>活动报名