簡介
使用瑞薩RA MCU的靈活軟件包(Flexible Software Package–FSP),配合e2 studio集成開發環境,或者使用第三方IDE和支持該IDE的RA智能配置器(RA Smart Configurator–RASC),可以簡單方便的對外圍器件添加驅動代碼。
本教程以RA6M3 MCU通過I2C接口控制HS3001溫濕度傳感器為例,展示如何一步一步的使用FSP添加外圍器件驅動。
主要內容
本程序基于新曄電子RA6M3開發板及Sensor板(包含HS3001、ISL29033及ZMOD4410),由于ISL29033和HS3001的i2c地址都為0x44,所以將HS3001地址改為了0x31。
使用e2studio新建一個RA6M3的工程
工程目錄中雙擊configuration.xml文件,可以打開軟件自帶的配置界面
配置界面中點擊“Clocks”,進入配置時鐘界面。根據自己的需求,配置好時鐘
點擊“Pins”,可以配置IO口功能。選擇要使用的IIC,并且使能
點擊“Stacks”,然后點擊“New Stack”→ “Driver”→“Connectivity”→“I2C Master Driver on r_iic_master”,增加iic驅動配置。
效果如下圖,“屬性”窗口配置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”
中斷函數在hal_data.h中聲明,需要使用者去完成此函數。此函數中可以讀取中斷事件,作者直接使用長延時等待i2c通信完成,所以此函數為空。
文件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會處于睡眠狀態,讀出的數據不變化。
將Sensor板與開發板的P1接口連接。
編譯程序并仿真,將RH和TEMP變量添加到Watch Expressions窗,使能實時刷新(Expressions中選中變量,單擊右鍵)。
在Expressions中可以看到數據變化。
總結:
從以上例子大家可以看到,使用瑞薩RA MCU的靈活軟件包添加一個I2C外置的驅動,只需要在FSP的圖形介面上對硬件和軟件做好配置即可自動生成所需的驅動和初始化代碼,整個應用就只需要10行的代碼。硬件和驅動上的配置在介面上也是一目了然,無需工程師去查文檔、看手冊,非常方便。
來源:瑞薩MCU小百科
-
傳感器
+關注
關注
2548文章
50740瀏覽量
752143 -
mcu
+關注
關注
146文章
17019瀏覽量
350374 -
瑞薩
+關注
關注
35文章
22294瀏覽量
86098 -
RA6M3
+關注
關注
0文章
52瀏覽量
103
發布評論請先 登錄
相關推薦
評論