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

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

3天内不再提示

瑞萨RA6M3 MCU通过I2C读取HS3001温湿度传感器

jf_pJlTbmA9 来源:瑞萨MCU小百科 作者:瑞萨MCU小百科 2023-09-26 16:57 次阅读

简介

使用瑞萨RA MCU的灵活软件包(Flexible Software Package–FSP),配合e2 studio集成开发环境,或者使用第三方IDE和支持该IDE的RA智能配置器(RA Smart Configurator–RASC),可以简单方便的对外围器件添加驱动代码。

教程以RA6M3 MCU通过I2C接口控制HS3001温湿度传感器为例,展示如何一步一步的使用FSP添加外围器件驱动。

主要内容

wKgZomUD7keAJ18VAA7CfaJCojk278.png

本程序基于新晔电子RA6M3开发板及Sensor板(包含HS3001、ISL29033及ZMOD4410),由于ISL29033和HS3001的i2c地址都为0x44,所以将HS3001地址改为了0x31。

使用e2studio新建一个RA6M3的工程

工程目录中双击configuration.xml文件,可以打开软件自带的配置界面

配置界面中点击“Clocks”,进入配置时钟界面。根据自己的需求,配置好时钟

点击“Pins”,可以配置IO口功能。选择要使用的IIC,并且使能

wKgaomUD7kiAJ_kpAABBjv4Q-_o050.png

点击“Stacks”,然后点击“New Stack”→ “Driver”→“Connectivity”→“I2C Master Driver on r_iic_master”,增加iic驱动配置。

wKgaomUD7kmAfKS_AABhBcHrjBw372.png

效果如下图,“属性”窗口配置i2c:

1、Name为配置i2c的结构体名称

2、Channel配置要使用的i2c通道,配置好后,Pins中会显示使用的IO口

3、Rate配置i2c速率

4、Slave Address配置从机地址,可在程序中修改

5、Address Mode配置从机地址模式,多数为7-Bit模式

6、Callback配置i2c的中断函数(必须配置)

7、Interrupt Priority Level配置中断优先级

此例中,使用i2c通道2,端口为P511和P512,并配置好中断函数名

配置好后,点击“Generate Project Content”

wKgZomUD7kuAaLD1AAKsAES6KAU614.png

中断函数在hal_data.h中声明,需要使用者去完成此函数。此函数中可以读取中断事件,作者直接使用长延时等待i2c通信完成,所以此函数为空。

wKgaomUD7k2AOgoCAAASrCluAbQ071.png

文件ra_gen/hal_data.c中初始化了g_i2c_master0的结构体,此结构体中包含可调用的函数结构体和配置参数结构体。

修改hal_entry.c文件中的hal_entry函数,顺序完成以下代码:

1、初始化i2c

2、设置i2c从机地址(HS3001从机地址为0x31)

3、向HS3001发送请求测量命令,然后加入等待延时

4、读取HS3001温度数据和湿度数据,并等待通信完成

5、通过计算得到温湿度数值

注意:每次读取数据前要发送请求测量命令,否则HS3001会处于睡眠状态,读出的数据不变化。

wKgaomUD7k6AIWGDAAC9RrwB1DU516.png

将Sensor板与开发板的P1接口连接。

编译程序并仿真,将RH和TEMP变量添加到Watch Expressions窗,使能实时刷新(Expressions中选中变量,单击右键)。

wKgaomUD7lCAUcRGAABvic6K_Tg157.png

在Expressions中可以看到数据变化。

wKgZomUD7lGANNnnAAAs32IQraY374.png

总结:

从以上例子大家可以看到,使用瑞萨RA MCU的灵活软件包添加一个I2C外置的驱动,只需要在FSP的图形介面上对硬件和软件做好配置即可自动生成所需的驱动和初始化代码,整个应用就只需要10行的代码。硬件和驱动上的配置在介面上也是一目了然,无需工程师去查文档、看手册,非常方便。

来源:瑞萨MCU小百科

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

    关注

    2548

    文章

    50642

    浏览量

    751670
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16977

    浏览量

    350208
  • 瑞萨
    +关注

    关注

    34

    文章

    22290

    浏览量

    86028
  • RA6M3
    +关注

    关注

    0

    文章

    52

    浏览量

    100
收藏 人收藏

    评论

    相关推荐

    温湿度传感器的设计

    从电路原理图看,温湿度传感器的设计极为精简,供电VCC、GND,还有一个I2C接口即可实现应用功能。
    发表于 09-05 10:29 3598次阅读

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

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

    SDAH01评估板试用—HS3001温湿度传感器

    ` 本帖最后由 shikong2046 于 2019-1-5 17:46 编辑 IDT的SDAH01评估套件,包括SDAH01评估板、HS3001温湿度传感器、USB线、U盘(IDT demo
    发表于 01-05 17:31

    如何通过I2C读取温湿度传感器信息

    Harmony OS设备开发学习记录(十一)-- 通过I2C读取温湿度传感器信息基于hispark wifi套件采用harmony os 2
    发表于 02-08 06:18

    RA4M2设计挑战赛】2. 硬件IIC读取HS3003的温湿度数据

    开发板体验】9. 用两路DAC在示波器上显示一个爱心RA4M2挑战赛分享:【RA4M2设计挑战赛】1. RASC配置FreeRTOS前言本文将操作官方模块HS300X(温湿度
    发表于 02-11 20:21

    RA4M2设计挑战赛】2、H3003温湿度传感器使用

    RA4M2设计挑战赛】2、H3003温湿度传感器使用H3003简介HS3003是一个高度精确、完全校准的相对
    发表于 02-26 22:29

    基于RA4M2HS3003的温湿度测量

    一、前言HS3003是一种数字式温湿度传感器,可以测量环境中的温度和湿度读取HS3003的数据
    发表于 03-05 23:38

    【精品合集】RA4M2物联网网关设计挑战赛作品合集

    设计挑战赛】读取HS3003传感器温湿度值【RA4M2设计挑战赛】读取isl29035模块数据作
    发表于 03-07 14:33

    【CW32饭盒派开发板试用体验】6.硬件I2C之连接HS300X读取温湿度数据

    initialization I2c_Init(); while(1) { Hs300x_StartSample(); delay(); Hs300x_ReadData(); delay(); } } 4 实验效果 如下是
    发表于 06-07 21:45

    Harmony OS 设备开发学习记录(十一)-- 通过I2C读取温湿度传感器信息

    Harmony OS 设备开发学习记录(十一)-- 通过I2C读取温湿度传感器信息基于hispark wifi套件采用harmony os
    发表于 12-04 19:51 0次下载
    Harmony OS 设备开发学习记录(十一)-- <b class='flag-5'>通过</b><b class='flag-5'>I2C</b><b class='flag-5'>读取</b><b class='flag-5'>温湿度</b><b class='flag-5'>传感器</b>信息

    【STM32Cube_15】使用硬件I2C读取温湿度传感器数据(SHT30)

    本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件I2C外设,读取SHT30温湿度传感器的数据并
    发表于 12-05 16:21 34次下载
    【STM32Cube_15】使用硬件<b class='flag-5'>I2C</b><b class='flag-5'>读取</b><b class='flag-5'>温湿度</b><b class='flag-5'>传感器</b>数据(SHT30)

    基于I2C协议的AHT20温湿度传感器的数据采集

    学习I2C总线通信协议,完成基于I2C硬件协议的AHT20温湿度传感器的数据采集,并将采集的温度-湿度
    发表于 12-06 20:51 11次下载
    基于<b class='flag-5'>I2C</b>协议的AHT20<b class='flag-5'>温湿度</b><b class='flag-5'>传感器</b>的数据采集

    基于I2C的AHT20温湿度传感器的数据采集及串口输出

    文章目录基于I2C的AHT20温湿度传感器的数据采集及串口输出一、IIC协议1. 物理层特点2. 协议层特点二、软件I2C和硬件
    发表于 12-23 19:43 5次下载
    基于<b class='flag-5'>I2C</b>的AHT20<b class='flag-5'>温湿度</b><b class='flag-5'>传感器</b>的数据采集及串口输出

    带LCD 1602 I2C显示的温湿度传感器

    电子发烧友网站提供《带LCD 1602 I2C显示的温湿度传感器.zip》资料免费下载
    发表于 06-09 10:53 0次下载
    带LCD 1602 <b class='flag-5'>I2C</b>显示的<b class='flag-5'>温湿度</b><b class='flag-5'>传感器</b>

    e2studio----RA2L1通过传感器检测温湿度

     本篇文章主要介绍如何使用芯片型号R7FA2L1AB2DFL的开发板外接温湿度传感器进行温湿度检测,并通过串口显示
    的头像 发表于 01-04 14:38 1497次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b>e<b class='flag-5'>2studio----RA2</b>L1<b class='flag-5'>通过</b><b class='flag-5'>传感器</b>检测<b class='flag-5'>温湿度</b>