簡介
使用瑞薩RA MCU的靈活軟件包(Flexible Software Package–FSP),配合e2 studio集成開發(fā)環(huán)境,或者使用第三方IDE和支持該IDE的RA智能配置器(RA Smart Configurator–RASC),可以簡單方便的對外圍器件添加驅(qū)動代碼。
本教程以RA6M3 MCU通過I2C接口控制HS3001溫濕度傳感器為例,展示如何一步一步的使用FSP添加外圍器件驅(qū)動。
主要內(nèi)容
本程序基于新曄電子RA6M3開發(fā)板及Sensor板(包含HS3001、ISL29033及ZMOD4410),由于ISL29033和HS3001的i2c地址都為0x44,所以將HS3001地址改為了0x31。
使用e2studio新建一個RA6M3的工程
工程目錄中雙擊configuration.xml文件,可以打開軟件自帶的配置界面
配置界面中點擊“Clocks”,進(jìn)入配置時鐘界面。根據(jù)自己的需求,配置好時鐘
點擊“Pins”,可以配置IO口功能。選擇要使用的IIC,并且使能
點擊“Stacks”,然后點擊“New Stack”→ “Driver”→“Connectivity”→“I2C Master Driver on r_iic_master”,增加iic驅(qū)動配置。
效果如下圖,“屬性”窗口配置i2c:
1、Name為配置i2c的結(jié)構(gòu)體名稱
2、Channel配置要使用的i2c通道,配置好后,Pins中會顯示使用的IO口
3、Rate配置i2c速率
4、Slave Address配置從機(jī)地址,可在程序中修改
5、Address Mode配置從機(jī)地址模式,多數(shù)為7-Bit模式
6、Callback配置i2c的中斷函數(shù)(必須配置)
7、Interrupt Priority Level配置中斷優(yōu)先級
此例中,使用i2c通道2,端口為P511和P512,并配置好中斷函數(shù)名
配置好后,點擊“Generate Project Content”
中斷函數(shù)在hal_data.h中聲明,需要使用者去完成此函數(shù)。此函數(shù)中可以讀取中斷事件,作者直接使用長延時等待i2c通信完成,所以此函數(shù)為空。
文件ra_gen/hal_data.c中初始化了g_i2c_master0的結(jié)構(gòu)體,此結(jié)構(gòu)體中包含可調(diào)用的函數(shù)結(jié)構(gòu)體和配置參數(shù)結(jié)構(gòu)體。
修改hal_entry.c文件中的hal_entry函數(shù),順序完成以下代碼:
1、初始化i2c
2、設(shè)置i2c從機(jī)地址(HS3001從機(jī)地址為0x31)
3、向HS3001發(fā)送請求測量命令,然后加入等待延時
4、讀取HS3001溫度數(shù)據(jù)和濕度數(shù)據(jù),并等待通信完成
5、通過計算得到溫濕度數(shù)值
注意:每次讀取數(shù)據(jù)前要發(fā)送請求測量命令,否則HS3001會處于睡眠狀態(tài),讀出的數(shù)據(jù)不變化。
將Sensor板與開發(fā)板的P1接口連接。
編譯程序并仿真,將RH和TEMP變量添加到Watch Expressions窗,使能實時刷新(Expressions中選中變量,單擊右鍵)。
在Expressions中可以看到數(shù)據(jù)變化。
總結(jié):
從以上例子大家可以看到,使用瑞薩RA MCU的靈活軟件包添加一個I2C外置的驅(qū)動,只需要在FSP的圖形介面上對硬件和軟件做好配置即可自動生成所需的驅(qū)動和初始化代碼,整個應(yīng)用就只需要10行的代碼。硬件和驅(qū)動上的配置在介面上也是一目了然,無需工程師去查文檔、看手冊,非常方便。
來源:瑞薩MCU小百科
-
傳感器
+關(guān)注
關(guān)注
2564文章
52706瀏覽量
764635 -
mcu
+關(guān)注
關(guān)注
146文章
17889瀏覽量
361718 -
瑞薩
+關(guān)注
關(guān)注
36文章
22375瀏覽量
87835 -
RA6M3
+關(guān)注
關(guān)注
0文章
52瀏覽量
264
發(fā)布評論請先 登錄
【RA-Eco-RA4M2開發(fā)板評測】RA-Eco-RA4M2 溫濕度傳感器HS3003
【RA-Eco-RA4M2開發(fā)板評測】RT-Thread上驅(qū)動I2C溫濕度傳感器
SDAH01評估板試用—HS3001溫濕度傳感器
如何通過I2C讀取溫濕度傳感器信息
【RA4M2設(shè)計挑戰(zhàn)賽】2. 硬件IIC讀取HS3003的溫濕度數(shù)據(jù)
【RA4M2設(shè)計挑戰(zhàn)賽】2、H3003溫濕度傳感器使用
基于RA4M2和HS3003的溫濕度測量
【CW32飯盒派開發(fā)板試用體驗】6.硬件I2C之連接HS300X讀取溫濕度數(shù)據(jù)
Harmony OS 設(shè)備開發(fā)學(xué)習(xí)記錄(十一)-- 通過I2C讀取溫濕度傳感器信息

【STM32Cube_15】使用硬件I2C讀取溫濕度傳感器數(shù)據(jù)(SHT30)

基于I2C協(xié)議的AHT20溫濕度傳感器的數(shù)據(jù)采集

基于I2C的AHT20溫濕度傳感器的數(shù)據(jù)采集及串口輸出

帶LCD 1602 I2C顯示的溫濕度傳感器

評論