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

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

3天内不再提示

【Renesas RA6M4开发板之按键和LED的GPIO】

RT-Thread单片机学习 来源:VOR234 作者:VOR234 2023-01-12 11:08 次阅读

1.0 I/O 设备模型

绝大部分的嵌入式系统都包括一些 I/O(Input/Output,输入 / 输出)设备,例如仪器上的数据显示屏、工业设备上的串口通信、数据采集设备上用于保存数据的 Flash 或 SD 卡,以及网络设备的以太网接口等,都是嵌入式系统中容易找到的 I/O 设备例子。

1.1 I/O 设备模型框架

RT-Thread 提供了一套简单的 I/O 设备模型框架,如下图所示,它位于硬件和应用程序之间,共分成三层,从上到下分别是 I/O 设备管理层、设备驱动框架层、设备驱动层。

在这里插入图片描述

应用程序通过 I/O 设备管理接口获得正确的设备驱动,然后通过这个设备驱动与底层 I/O 硬件设备进行数据(或控制)交互。

1.2 I/O 设备模型

RT-Thread 的设备模型是建立在内核对象模型基础之上的,设备被认为是一类对象,被纳入对象管理器的范畴。每个设备对象都是由基对象派生而来,每个具体设备都可以继承其父类对象的属性,并派生出其私有属性,下图是设备对象的继承和派生关系示意图。

在这里插入图片描述

2. RT-theard配置

2.1 硬件需求

实现功能:

板载按键切换LED3 不同频闪模式。

1、RA6M4开发板

在这里插入图片描述

2、USB下载线,ch340串口和附带2根母母线,rx---p613;tx---p614

在这里插入图片描述

实验中采用按键和LED3都板载的(分别对应p105和p106)

2.2 软件配置

Renesas RA6M4开发板环境配置参照:【基于 RT-Thread Studio的CPK-RA6M4 开发板环境搭建】

1、新建项目RA6M4-GPIO工程

在这里插入图片描述

2、修改src文件下的main.c文件,其他不变。

main.c

/*
 * Copyright (c) 2006-2021, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author        Notes
 * 2021-10-10     Sherman       first version
 * 2021-11-03     Sherman       Add icu_sample
 */

#include 
#include "hal_data.h"
#include 

#define LED3_PIN    BSP_IO_PORT_01_PIN_06
#define USER_INPUT  BSP_IO_PORT_01_PIN_05

void hal_entry(void)
{
    rt_kprintf("
Hello RT-Thread!
");

    while (1)
    {
        if (rt_pin_read(USER_INPUT)==0) {
            rt_pin_write(LED3_PIN, PIN_HIGH);
            rt_thread_mdelay(500);
            rt_pin_write(LED3_PIN, PIN_LOW);
            rt_thread_mdelay(500);
        } else {
            rt_pin_write(LED3_PIN, PIN_HIGH);
            rt_thread_mdelay(2000);
            rt_pin_write(LED3_PIN, PIN_LOW);
            rt_thread_mdelay(500);
        }
        rt_kprintf("USER_INPUT=%d !
",rt_pin_read(USER_INPUT));
        rt_thread_mdelay(1);
    }
}

保存完是灰色,没有保存是蓝色。

3. 代码分析

采用轮询方式检查按键是否触发,好像按键默认拉高了

4. 下载验证

1、编译重构

在这里插入图片描述

编译成功

2、下载程序

在这里插入图片描述

下载成功

3、CMD串口调试

在这里插入图片描述

然后板载复位

在这里插入图片描述

效果如下

请添加图片描述

这样我们就可以天马行空啦!!

审核编辑:汤梓红

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

    关注

    242

    文章

    23252

    浏览量

    660545
  • 单片机
    +关注

    关注

    6035

    文章

    44554

    浏览量

    634594
  • 开发板
    +关注

    关注

    25

    文章

    5032

    浏览量

    97371
  • GPIO
    +关注

    关注

    16

    文章

    1204

    浏览量

    52051
  • RA6M4
    +关注

    关注

    0

    文章

    51

    浏览量

    441
收藏 人收藏

    评论

    相关推荐

    开发板评测】Renesas RA6M4开发板ESP8266_AT

    串口也是比较常用的外设,应用也比较简单,具体的外设功能描述也不多讲什么了。下面只讲如何使用CPK-RA6M4开发板通过串口连接esp8266(esp-01s)使用AT命令联网。 评测所需要的环境
    的头像 发表于 12-30 12:35 2376次阅读
    【<b class='flag-5'>开发板</b>评测】<b class='flag-5'>Renesas</b> <b class='flag-5'>RA6M4</b><b class='flag-5'>开发板</b><b class='flag-5'>之</b>ESP8266_AT

    Renesas RA6M4开发板I2C(模拟)驱动ssd1306 OLED屏幕】

    Renesas RA6M4开发板I2C(模拟)驱动ssd1306 OLED屏幕】
    的头像 发表于 01-11 09:34 4536次阅读
    【<b class='flag-5'>Renesas</b> <b class='flag-5'>RA6M4</b><b class='flag-5'>开发板</b><b class='flag-5'>之</b>I2C(模拟)驱动ssd1306 OLED屏幕】

    Renesas RA6M4开发板I2C读取BMP180气压温度】

    本篇通过Renesas RA6M4开发板采用I2C读取BMP180传感器的气压温度示例程序演示。
    的头像 发表于 01-16 09:29 3990次阅读
    【<b class='flag-5'>Renesas</b> <b class='flag-5'>RA6M4</b><b class='flag-5'>开发板</b><b class='flag-5'>之</b>I2C读取BMP180气压温度】

    如何对Renesas RA6M4开发板的FLASH模块进行测评呢

    硬件部分本次测评的板子为基于瑞萨 RA6M4 MCU 开发的 CPK-RA6M4 MCU 评估。支持 TrustZone®的 200 MHz Arm® Cortex®-
    发表于 04-01 16:54

    Renesas RA6M4开发板GPIO/IIC(模拟)模块测评

    首先很高兴也很荣幸能成为测评的成员之一,我测评的模块是GPIO/IIC(模拟)本次测评的板子为,Renesas RA6M4开发板开发板集成
    发表于 04-08 11:18

    Renesas RA6M4开发板UART和GPIO测评

    Smart Configurator有上角的 generate project content,即可自动生成并同步ra6m4的uart0的相关引脚配置和驱动到rt-thread studio项目了
    发表于 04-08 11:26

    Renesas CPK-RA6M4开发板SDIO模块评测

    首先感谢RT-Thread和Renesas给我这次评测的机会,很荣幸成为本次评测的一员。本次评测的开发板Renesas的CPK-RA6M4开发板
    发表于 07-21 11:14

    基于RT-Thread和RA6M4的网络天气时钟设计资料推荐

    ——网络天气时钟。硬件上实现也不复杂,使用RA6M4开发板做主控,只需要外接wifi模块,LCD显示屏,触摸(或按键)等就可以了,比较方便。实现功能1、上电wifi自动联网2、上电NTP自动对时3、实时
    发表于 08-17 14:56

    Renesas RA6M4开发板USB-H评测活动

    1、Renesas RA6M4开发板USB-H评测  这次是第二次接触这块开发板了,但是还是第一次仔细观察这块
    发表于 11-22 16:08

    开发板评测】Renesas RA6M4开发板FLASH

    硬件部分 本次测评的板子为基于瑞萨RA6M4 MCU开发的 CPK-RA6M4 MCU 评估。 ● 支持 TrustZone   的200 MHz Arm Cortex -
    的头像 发表于 12-16 18:25 1504次阅读

    开发板评测】Renesas RA6M4开发板CAN

    介绍 通过阅读用户手册,我们可以了解到RA6M4 MCU具有丰富的外设如IIC、SPI、CAN、USB等(如下图)。在此次测评中我们暂且只关心CAN的使用。 国际惯例先看说明书,打开《开发板用户手册》认真研读,通篇看完没有关于CAN总线的介绍,很明显此
    的头像 发表于 12-20 12:10 1473次阅读

    开发板评测】Renesas RA6M4开发板SDIO(SDHI)

    本次评测的开发板Renesas的CPK-RA6M4开发板,它是一款Renesas官方基于RA6M4
    的头像 发表于 12-27 13:15 2464次阅读

    基于RT-Thread Studio的CPK-RA6M4开发板环境搭建

    基于瑞萨RA6M4 MCU开发的CPK-RA6M4 MCU评估 ,通过 灵活配置软件包和IDE,可帮助用户对RA6M4 MCU 群组的特性
    的头像 发表于 01-10 14:56 1332次阅读
    基于RT-Thread Studio的CPK-<b class='flag-5'>RA6M4</b><b class='flag-5'>开发板</b>环境搭建

    Renesas RA6M4开发板I2C读取mpu6050】

    本篇通过Renesas RA6M4开发板采用I2C读取mpu6050传感器的角加速度,角速度和温度示例程序演示。
    的头像 发表于 01-17 09:07 7716次阅读
    【<b class='flag-5'>Renesas</b> <b class='flag-5'>RA6M4</b><b class='flag-5'>开发板</b><b class='flag-5'>之</b>I2C读取mpu6050】

    Renesas RA6M4开发板DHT11温湿度读取】

    本篇通过Renesas RA6M4开发板DHT11温湿度读取示例程序演示。
    的头像 发表于 01-18 17:18 1668次阅读
    【<b class='flag-5'>Renesas</b> <b class='flag-5'>RA6M4</b><b class='flag-5'>开发板</b><b class='flag-5'>之</b>DHT11温湿度读取】