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

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

3天内不再提示

RA6M3 RT-Thread* LVGL HMI Board开发实践指南-GPIO实践

RTThread物联网操作系统 来源:未知 2023-11-30 19:05 次阅读
RT-Thread即将发布一系列RA6M3外设驱动的实践指南,我们将使用瑞萨RA6M3 HMI-Board 开发板,带领大家上手RT-Thread设备驱动, 本篇文章将介绍GPIO外设。GPIO是最常见的外设,GPIO可以实现对IO的高低电平控制,读取IO的电平,以及配置为中断输入后,在中断函数中处理相关事件待。

开发板简介

HMI-Board 为 RT-Thread 联合瑞萨推出的高性价比图形评估套件,相比较于传统的 HMI +主控板,一套硬件即可实现 HMI + IoT +控制的全套能力。依托于瑞萨高性能芯片 RA6M3 及 RT-Thread 软件生态,HMI Board 不仅硬件性能强劲,同时软件生态丰富,助力开发者快速开发出 GUI 智能硬件产品

开发环境搭建指南

详见瑞萨RA6M3开发实践指南-UART实践(qq.com)

wKgaomVobY2Ae7UIAANZs5bcm58876.png

本章内容

我们将使用RT-Thread Studio来创建工程,配置IO,最终实现使用板载三个按键控制板载的两个LED的亮与灭。

模块介绍:

板载的两个LED灯接入了P209与P210,原理图如下:

wKgaomVobY2ASk3HAAAvSOxm69o572.png

板载了三个按键,分别接入了P005、P006、P007。原理图如下:

wKgaomVobY2AWZ85AAE1-RqSkUc360.png

开发软件:

RT-ThreadStudio

步骤说明

1、新建工程

●安装开发板SDK:

打开RT-Thread Studio,点击SDK管理器,下载开发板SDK:

等待安装结束后退出SDK管理器

●新建HMI_RA6M3_GPIO工程:

wKgaomVobY2AIORvAADsb5WATUI084.png

●选择基于开发板创建工程

wKgaomVobY6ALCt_AAScvLvSAjI931.png

●输入工程名称点完成生成工程:

wKgaomVobY6Aflx9AANjramcmcc751.png

●生成工程预览如下:

wKgaomVobY6AcUfFAAKw6pvNlLE813.png

2.配置RASC工程

●选择RA Smart Configurator文件夹位置,只需要选到FSP文件夹就行了:

wKgaomVobY-AcK_4AAQpdhw4QH8484.png

●在RASC工程配置LED为输出模式,按键为输入模式,并设置为默认的中断号。保存并生成工程:

wKgaomVobY-AXpWtAAJq17qtZkk386.png

3. 编写代码

我们编写hal_entry.c代码如下:

/*

*Copyright(c)2006-2023,RT-ThreadDevelopmentTeam

*

*SPDX-License-Identifier:Apache-2.0

*

*ChangeLogs:

*DateAuthorNotes

*2021-10-10Shermanfirstversion

*/

#include

#include"hal_data.h"

#include

#defineUSER1_PINBSP_IO_PORT_02_PIN_09/*OnboardLEDpins*/

#defineUSER2_PINBSP_IO_PORT_02_PIN_10/*OnboardLEDpins*/

#defineTN0_PINBSP_IO_PORT_00_PIN_05/*OnboardTN0pins*/

#defineTN1_PINBSP_IO_PORT_00_PIN_06/*OnboardTN1pins*/

#defineTN2_PINBSP_IO_PORT_00_PIN_07/*OnboardTN2pins*/

staticuint8_tled_flash_state=0;

voidled_off(void*args)

{

rt_kprintf("bnt0down! ");

led_flash_state=0;

}

voidled_on(void*args)

{

rt_kprintf("bnt1down! ");

led_flash_state=1;

}

#defineTHREAD_PRIORITY25

#defineTHREAD_STACK_SIZE512

#defineTHREAD_TIMESLICE5

staticrt_thread_ttid1=RT_NULL;

/*线程1的入口函数*/

staticvoidthread_led_flash_entry(void*parameter)

{

staticuint32_tflash_cnt;

while(1)

{

if(led_flash_state==0){

rt_pin_write(USER1_PIN,PIN_LOW);

rt_pin_write(USER2_PIN,PIN_LOW);

}

elseif(led_flash_state==1){

rt_pin_write(USER1_PIN,PIN_HIGH);

rt_pin_write(USER2_PIN,PIN_HIGH);

}

elseif(led_flash_state==2){

if(flash_cnt<50)

{

rt_pin_write(USER1_PIN,PIN_HIGH);

rt_pin_write(USER2_PIN,PIN_LOW);

}

elseif(flash_cnt<100)

{

rt_pin_write(USER1_PIN,PIN_LOW);

rt_pin_write(USER2_PIN,PIN_HIGH);

}

else{

flash_cnt=0;

}

flash_cnt++;

}

rt_thread_mdelay(10);

}

}

voidkey_init(void)

{

/*按键0引脚为输入模式*/

rt_pin_mode(TN0_PIN,PIN_MODE_INPUT_PULLUP);

/*绑定中断,下降沿模式,回调函数名为beep_on*/

rt_pin_attach_irq(TN0_PIN,PIN_IRQ_MODE_FALLING,led_off,RT_NULL);

/*使能中断*/

rt_pin_irq_enable(TN0_PIN,PIN_IRQ_ENABLE);

/*按键1引脚为输入模式*/

rt_pin_mode(TN1_PIN,PIN_MODE_INPUT_PULLUP);

/*绑定中断,下降沿模式,回调函数名为beep_on*/

rt_pin_attach_irq(TN1_PIN,PIN_IRQ_MODE_FALLING,led_on,RT_NULL);

/*使能中断*/

rt_pin_irq_enable(TN1_PIN,PIN_IRQ_ENABLE);

/*按键2引脚为输入模式*/

rt_pin_mode(TN2_PIN,PIN_MODE_INPUT_PULLUP);

}

voidhal_entry(void)

{

rt_kprintf(" HelloRT-Thread! ");

key_init();

/*创建线程1,名称是thread1,入口是thread1_entry*/

tid1=rt_thread_create("thread_led",

thread_led_flash_entry,RT_NULL,

THREAD_STACK_SIZE,

THREAD_PRIORITY,THREAD_TIMESLICE);

/*如果获得线程控制块,启动这个线程*/

if(tid1!=RT_NULL)

rt_thread_startup(tid1);

while(1)

{

if(rt_pin_read(TN2_PIN)==0)

{

rt_thread_delay(10);

if(rt_pin_read(TN2_PIN)==0)

led_flash_state=2;

rt_kprintf(" TN2pushdown! ");

}

rt_thread_delay(10);

}

}

4.代码验证

我们编译下载后,我们按TN0,两个LED亮,按下TN1,两个LED灯灭,按下TN2,两个LED灯交替闪烁。

章节总结

本章主要介绍了如果新建GPIO工程,RASC工程配置,驱动三个按键与三个LED灯的GPIO,涉及到了GPIO的输出、输入的配置,中断输入的配置与以及中断回调函数的编写。本文函盖了GPIO的所有操作。

也可以阅读帖子:

https://club.rt-thread.org/ask/article/ddc499ea99f1ea23.html

【购买HMIBoard】

wKgaomVobZCAfdWZAAie-EV0EwA449.png

———————End——————

新生态,创未来 | 2023RT-Thread 开发者大会开启报名

邀请你参加 2023 RT-Thread 开发者大会的大理由

1、刷新RT-Thread最新技术动态和产业服务能力

2、聆听行业大咖分享,洞察产业趋势

3、丰富的技术和产品展示,前沿技术发展和应用

4、绝佳的实践机会:AIOT、MPU、RISC-V...

5、精美伴手礼人手一份开发板盲盒和免费午餐

6、黑科技满点~滴水湖地铁口安排无人车接送至会场

立刻扫码报名吧

wKgaomVobZCAPPGDAAAGEVCsn_o921.png


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

    关注

    31

    文章

    1149

    浏览量

    38900

原文标题:RA6M3 RT-Thread* LVGL HMI Board开发实践指南-GPIO实践

文章出处:【微信号:RTThread,微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RT-Thread开发者大会系统控制分论坛动手实践指南

    本周六, RT-Thread 开发者大会在上海临港中心举行。 RT-Thread 开发者大会是嵌入式开发者的年度盛会,为
    的头像 发表于 12-22 18:15 260次阅读
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>开发</b>者大会系统控制分论坛动手<b class='flag-5'>实践</b><b class='flag-5'>指南</b>

    RT-Thread开发者大会RISC-V分论坛动手实践指南

    明天,RT-Thread开发者大会将在上海临港中心举行。RT-Thread开发者大会是嵌入式开发者的年度盛会,为
    的头像 发表于 12-22 18:15 450次阅读
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>开发</b>者大会RISC-V分论坛动手<b class='flag-5'>实践</b><b class='flag-5'>指南</b>

    【直播预告】基于RT-Thread &amp; LVGL RA6M3 HMI-Board儿童益智学习机

    五晚,我们有幸邀请到了本次大赛的二等奖得主,他将与我们分享他的作品——基于RT-Thread LVGL RA6M3 HMI-Board儿童益智学习机。 直播信息 直播主题 基于
    的头像 发表于 11-30 19:05 230次阅读
    【直播预告】基于<b class='flag-5'>RT-Thread</b> &amp; <b class='flag-5'>LVGL</b>  <b class='flag-5'>RA6M3</b> <b class='flag-5'>HMI-Board</b>儿童益智学习机

    【直播预告】HMI-Board Windows32

    主持人 张丙儒,RT-Thread工程师 观看平台 RT-Thread B站直播间直播间 直播看点 基于瑞萨RA6M3LVGL-GUI开源作品分享
    的头像 发表于 11-14 18:20 235次阅读
    【直播预告】<b class='flag-5'>HMI-Board</b> Windows32

    RA6M3 HMI Board评测挑战】-瑞萨RA6M3上的CAN实践

    RA6M3 HMI Board 评测大挑战】-瑞萨RA6M3上的CAN实践
    的头像 发表于 10-17 14:55 1078次阅读
    【<b class='flag-5'>RA6M3</b> <b class='flag-5'>HMI</b> <b class='flag-5'>Board</b>评测挑战】-瑞萨<b class='flag-5'>RA6M3</b>上的CAN<b class='flag-5'>实践</b>

    【议程发布】10月上海线下培训:RT-Thread × 瑞萨 工业监视器+HMI解决方案!

    。 本次培训RT-Thread将提供培训用开发板: RA6M3 HMI Board 活动议程:   报名方式: 下列任意方式都可以免费报名参
    的头像 发表于 09-28 18:45 326次阅读
    【议程发布】10月上海线下培训:<b class='flag-5'>RT-Thread</b> × 瑞萨 工业监视器+<b class='flag-5'>HMI</b>解决方案!

    瑞萨 RA6M3 开发实践指南-UART实践

    RT-Thread即将发布一系列RA6M3外设驱动的实践指南,我们将使用瑞萨RA6M3 HMI-Boar
    的头像 发表于 09-23 12:15 704次阅读

    瑞萨RA6M3 HMI-Board Video Demo 上手指南

    于瑞萨高性能芯片 RA6M3RT-ThreadLVGL 软件生态,HMI Board 不仅硬件性能强劲,同时软件生态丰富,助力
    的头像 发表于 09-15 18:25 802次阅读
    瑞萨<b class='flag-5'>RA6M3</b> <b class='flag-5'>HMI-Board</b> Video Demo 上手<b class='flag-5'>指南</b>

    如何利用rt-threadHMI Board RA6M3开发一套物联网工控机?

    近年来,随着新一轮的科技发展以及工业产业升级,工业经济慢慢的由数字化向网络化和智能化发展。基于这一理念,本人利用rt-threadHMI Board RA6M3
    的头像 发表于 09-15 15:27 911次阅读
    如何利用<b class='flag-5'>rt-thread</b>和<b class='flag-5'>HMI</b> <b class='flag-5'>Board</b> <b class='flag-5'>RA6M3</b><b class='flag-5'>开发</b>一套物联网工控机?

    【线下培训】上海临港: RT-Thread × 瑞萨 工业监视器 RA6M3 HMI Board解决方案

    RT-Thread 与瑞萨将于10月14日在上海临港举行一场线下培训。 本次培训将为开发者们带来期待已久的热门技术主题, RT-Thread × 瑞萨 工业监视器 RA6M3
    的头像 发表于 09-07 17:40 458次阅读
    【线下培训】上海临港: <b class='flag-5'>RT-Thread</b> × 瑞萨 工业监视器 <b class='flag-5'>RA6M3</b> <b class='flag-5'>HMI</b> <b class='flag-5'>Board</b>解决方案

    RA6M3 HMI Board 之RTC实践

    开发环境: RT-Thread Studio:v2.2.6 开发板:RA6M3 HMI Board
    的头像 发表于 06-21 21:31 2493次阅读
    <b class='flag-5'>RA6M3</b> <b class='flag-5'>HMI</b> <b class='flag-5'>Board</b> 之RTC<b class='flag-5'>实践</b>

    RA6M3 HMI Board 之SDHI实践

    进行说明,然后使用RT-Studio新建工程进行开发,通过RASC对RA6M3的底层硬件配置,然后使用SDHI接口实现SD的识别,搭配文件系统对SD卡进行读写操作,同时记录开发遇到的问
    的头像 发表于 06-19 18:15 588次阅读
    <b class='flag-5'>RA6M3</b> <b class='flag-5'>HMI</b> <b class='flag-5'>Board</b> 之SDHI<b class='flag-5'>实践</b>

    联合发布 | 2D加速、JPEG硬解、超高性价比M4芯片,您的图形评估利器——HMI-Board来啦!

    MCU RA6M3RT-Thread软件生态,HMI Board不仅硬件性能强劲,同时软件生态丰富,助力开发者快速
    的头像 发表于 05-19 15:15 959次阅读
    联合发布 | 2D加速、JPEG硬解、超高性价比M4芯片,您的图形评估利器——<b class='flag-5'>HMI-Board</b>来啦!

    【预告】RT-Thread联合瑞萨即将发布高性价比HMI Board

    于瑞萨高性能芯片 RA6M3RT-Thread 软件生态,HMI Board 不仅硬件性能强劲,同时软件生态丰富,助力开发者快速
    的头像 发表于 05-11 20:16 476次阅读
    【预告】<b class='flag-5'>RT-Thread</b>联合瑞萨即将发布高性价比<b class='flag-5'>HMI</b> <b class='flag-5'>Board</b>

    RT-Thread联合瑞萨即将发布高性价比HMI Board

    高性能芯片 RA6M3RT-Thread 软件生态,HMI Board 不仅硬件性能强劲,同时软件生态丰富,助力开发者快速
    发表于 05-08 08:22