一、 测试项目
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进行传感器二次开发,可以做到低代码编写,用户上手较容易,开发效率高。
芯耀辉如何看待Chiplet国内发展情况
电动车充换电模式之争渐明 换电让位充电
气动薄膜调节阀是一种新型闸阀,它有什么特点
企业员工更齐心,仁和正通云管理平台助力企业管理
碳化硅功率模块内部的NTC电路设计思路和注意事项
【N32L40XCL-STB开发板评测】I2C接口测试
无线网桥室外天线选择方法
Pelion 正式宣布独立运营,推出全新品牌和增强型产品
为什么5G时代下Wi-Fi技术显得更重要
华为绿色5G背后的四大武器介绍
为锂离子电池使用配置好安全技术
智能家居这么大的市场谁能问鼎
英飞凌持续引领MEMS麦克风市场,新技术进一步改善声学性能和功耗
半导体各大厂情况如何
工控机引领革命,让香水混合系统更智能、更可靠!
SiC肖特基二级管在车载充电机PFC和LLC电路中的应用
神州云动:能为企业带来价值增长的CRM
大众集团组建自动驾驶子公司,计划在十年内开始大规模商业化
cbb22电容容量是多少
聚焦RISC-V架构,避免主流CPU架构制约