【N32L40XCL-STB开发板评测】I2C接口测试

接口/总线/驱动

1125人已加入

描述

一、 测试项目
N32L40XCL-STB V1.0 IIC接口

二、 测试环境
开发板:N32L40XCL-STB V1.0
开发环境:RT-Thread studio V2.2.6
RT-Thread版本:4.1.1
I2C1外设资源:PA4—SCL PA5—SDA
温湿度传感器:HS3003

三、 N32L40XCL IIC简介
N32L40XCL集成了2个独立的I2C总线接口,它提供多主机功能,控制所有I2C总线特定的时序、协议、仲裁和超时。支持多种通信速率模式(最高支持1MHz),支持DMA操作,同时与SMBus 2.0兼容。I2C模块有多种用途,包括CRC码的生成和校验、SMBus(系统管理总线—System Management Bus)和PMBus(电源管理总线-Power Management Bus)。既可做主设备也可做从设备。

四、 测试软件环境搭建
1、 新建工程

电源管理

图1 生成新工程步骤

选择新建—>RT-Thread 项目,出现对话框,分别按照1~5步骤进行生成新RTT项目,如果第三步没有对应的开发板,需先在SDK库中增加对应的开发板。

电源管理

图2 新建的N32L40X-HS300X项目
2、 配置IIC及HS3003软件包
在左侧项目资源管理器中打开新建的项目,按图2双击RT-Tread Setting设置项,按图3、4、5完成相关项设置。

电源管理

图3 驱动设置

电源管理

图4 添加温湿度传感器HS300X软件包

电源管理

图5 设置IIC1配置项
3、 添加头文件
因使用IIC驱动,打开main.c文件,需添加以下三个头文件:

#include
#include
#include "sensor_renesas_hs300x.h"
4、 添加路径

电源管理

图6 设置新增头文件路径
按照图6步骤分别添加i2c.h、drv_i2c.h、sensor_renesas_hs300x.h所在目录路径:
“..N32L40X-HS300Xrt-threadcomponentsdriversincludedrivers””
“..N32L40X-HS300Xrt-threadcomponentsdriversi2c”
“..N32L40X-HS300Xpackageshs300x-latest”
5、 修改程序
打开sensor_renesas_hs300x.c在程序最后添加如下程序段:

int rt_hw_hs300x_port(void)
{
struct rt_sensor_config cfg;
cfg.intf.dev_name = HS300X_I2C_BUS;
cfg.intf.user_data = (void *)HS300X_I2C_ADDR;
rt_hw_hs300x_init("hs300x", &cfg);
return RT_EOK;
}
INIT_ENV_EXPORT(rt_hw_hs300x_port);
至此修改工作全部结束,编译下载运行。

五、 运行及结果
系统接线图:

电源管理

图8 系统运行界面
我们可以看到i2c1和HS300X成功挂载。
使用传感器命令运行,分别输入sensor_polling temp_hs300x和 sensor_polling humi_hs300x

电源管理

电源管理

图10 湿度测量值
六、 总结
由以上例子我们可以看出,在国民技术的《N32L40XCL-STB 开发板》上利用Rt-thread进行传感器二次开发,可以做到低代码编写,用户上手较容易,开发效率高。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分