Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
I2C_IIC
N32L40XCL-STB
开发板评测
【N32L40XCL-STB 开发板评测】3-I2C测试
发布于 2023-05-05 11:59:57 浏览:189
订阅该版
【N32L40XCL-STB 开发板评测】3-I2C测试 一、 测试项目 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、 新建工程 ![31.jpg](https://oss-club.rt-thread.org/uploads/20230505/d546c1f3def8978f59f43874509833d0.jpg.webp) 图1 生成新工程步骤 选择新建—>RT-Thread 项目,出现对话框,分别按照1~5步骤进行生成新RTT项目,如果第三步没有对应的开发板,需先在SDK库中增加对应的开发板。 ![321.jpg](https://oss-club.rt-thread.org/uploads/20230505/e080878cc9c6429d82929116a2169949.jpg.webp) 图2 新建的N32L40X-HS300X项目 2、 配置IIC及HS3003软件包 在左侧项目资源管理器中打开新建的项目,按图2双击RT-Tread Setting设置项,按图3、4、5完成相关项设置。 ![322.jpg](https://oss-club.rt-thread.org/uploads/20230505/127f263ab43906d1533922e6a311bf23.jpg.webp) 图3 驱动设置 ![323.jpg](https://oss-club.rt-thread.org/uploads/20230505/1e230bb9b4d5e375a69b60990b8385e1.jpg.webp) 图4 添加温湿度传感器HS300X软件包 ![325.jpg](https://oss-club.rt-thread.org/uploads/20230505/93f9e6af1e2989f025e4f56b14a36714.jpg) 图5 设置IIC1配置项 3、 添加头文件 因使用IIC驱动,打开main.c文件,需添加以下三个头文件: ```c #include
#include
#include "sensor_renesas_hs300x.h" ``` 4、 添加路径 ![33.jpg](https://oss-club.rt-thread.org/uploads/20230505/bb449e8c83a0af0443fd1a841bc85518.jpg.webp) 图6 设置新增头文件路径 按照图6步骤分别添加i2c.h、drv_i2c.h、sensor_renesas_hs300x.h所在目录路径: “..\N32L40X-HS300X\rt-thread\components\drivers\include\drivers"” “..\N32L40X-HS300X\rt-thread\components\drivers\i2c” “..\\N32L40X-HS300X\packages\hs300x-latest” 5、 修改程序 打开sensor_renesas_hs300x.c在程序最后添加如下程序段: ```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); ``` 至此修改工作全部结束,编译下载运行。 五、 运行及结果 系统接线图: ![1626686937.jpg](https://oss-club.rt-thread.org/uploads/20230505/d7537af9cd19bc8976b87ceb9145a303.jpg.webp) 图7 传感器接线图 ![38.jpg](https://oss-club.rt-thread.org/uploads/20230505/c0e42fe274c08c5c754e2c26fb5e78aa.jpg) 图8 系统运行界面 我们可以看到i2c1和HS300X成功挂载。 使用传感器命令运行,分别输入sensor_polling temp_hs300x和 sensor_polling humi_hs300x ![39.jpg](https://oss-club.rt-thread.org/uploads/20230505/4f959a4970b5d12cc1420a600e5d978e.jpg) 图9 温度测量值 ![310.jpg](https://oss-club.rt-thread.org/uploads/20230505/7e8624d06765593eefdd8b93bf788c43.jpg) 图10 湿度测量值 六、 总结 由以上例子我们可以看出,在国民技术的《N32L40XCL-STB 开发板》上利用Rt-thread进行传感器二次开发,可以做到低代码编写,用户上手较容易,开发效率高。
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
zhjylzh
这家伙很懒,什么也没写!
文章
4
回答
2
被采纳
0
关注TA
发私信
相关文章
1
NXP的I2C应该比ST的好用吧
2
Use of I2C device driver
3
关于I2C 驱动问题请教
4
我如何知道这个iic的io配置和我电路设计的是一致的?
5
I2C模拟读操作失败,不知道问什么进不去读函数
6
RTT的I2C有官方文档资料没有
7
求 STM32F103 IIC 自定义IO初始化 代码
8
报一个LPC4008代码中I2C的bug
9
RTOS IIC总线使用
10
关于在RTT中使用STM32 I2C的疑问
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
国产MCU移植系列教程汇总,欢迎查看!
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
LWIP
Env
SPI
Bootloader
AT
ART-Pi
Hardfault
CAN总线
FinSH
USB
文件系统
DMA
RT-Thread
SCons
线程
RT-Thread Nano
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
ota在线升级
WIZnet_W5500
I2C_IIC
UART
flash
cubemx
packages_软件包
freemodbus
潘多拉开发板_Pandora
PWM
定时器
ADC
BSP
中断
编译报错
socket
keil_MDK
GD32
flashDB
MicroPython
msh
Debug
ulog
SFUD
SDIO总线
rt_mq_消息队列_msg_queue
本月问答贡献
用户名由3_15位
25
个答案
3
次被采纳
踩姑娘的小蘑菇
16
个答案
3
次被采纳
xiaorui
7
个答案
3
次被采纳
sakumisu
5
个答案
3
次被采纳
JonasWen
5
个答案
2
次被采纳
本月文章贡献
比特饼干
4
篇文章
15
次点赞
ZVML_9668
3
篇文章
3
次点赞
Z_Y
2
篇文章
5
次点赞
Alipay
2
篇文章
3
次点赞
rvcore
2
篇文章
3
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部