Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
I2C_IIC
原创征文
瑞萨_RA6M4
【实验1:RT-Thread环境搭建+IIC光线传感器实验】
发布于 2022-08-18 10:10:02 浏览:1312
订阅该版
[tocm] 本实验包含开发环境搭建和板载IIC光线传感器实验,实验目的是了解瑞萨开发板在RT-Thread studio中如何开发,如何开始创建第一个工程,并使用板载外设资源完成一个简单的DEMO。 # 1. RA 开发环境搭建 可以参考:[【基于 RT-Thread Studio的CPK-RA6M4 开发板环境搭建】](https://oss-club.rt-thread.org/uploads/20220818/da39a3ee5e6b4b0d3255bfef95601890afd80709.png) 2. 找到下载的文件打开:setup_fsp_v3_5_0_rasc_v2021-10.exe ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/e23c5f489d051c4328ed001a3f80857650e4d9f8.png) 3. 配置安装路径,安装完成后找到此路径,之后添加 CPK-RA6M4 板级支持包 时会用到![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/144cd2223d27e9e820e97ea72c884f9594143d5a.png) 4. 勾选 Licenese ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/9674a8b8f6124766a300c5d8daf795953e94b9ca.png) 5. 点击 install 等待安装完成。 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/6f5812c1acc9a72f13359506dfbd1cfcf079f3ec.png) 6. 运行 rasc.exe,验证是否安装成功。路径:\eclipse\rasc.exe ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/aaebea16e684c290b0ff213bd0076a3413e9cc5b.png) 7. 成功启动后关闭即可,继续接下来的操作 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/6fbb5c89b74ccd4d1df4e1cce704fc25ed39afea.png) ### 1.2.2 CPK-RA6M4 板级支持包 1. 下载后确认支持包版本 3.5.0。从网盘下载可忽略此下载步骤 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/d0a1431300c21453461463513044e4eb311c3450.png) 2. 在下载的支持包中可以找到以下三个文件 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/99352bbd03fa2af9dde1a5da9291f06e561a5039.png) 3. 此时找到 FSP 的安装路径,进入 \internal\projectgen\ra\ ,将文件复制到对应的文件夹中。 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/19af3457fcdf958eb943f5a9fa725a1a0ba64231.png) 4. 再次打开 rasc.exe,查看是否添加成功。点击 next 进入工程创建 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/f763417f0481a74ff8789ba5ed617f2d36a81851.png) 5. 确认是否存在已添加的 CPK-RA6M4 开发板的支持包,此步骤仅为验证是否添加成功,不必继续创 建工程,关闭即可。 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/7d5c93ef525789cfb14ef24b8e7f6f473b42054c.png) 6. 到此基本将瑞萨开发板相关的环境搭建完成。调试器 J-link 的安装,在下面的步骤中介绍。 # 2. RT-Thread 开发环境搭建 ## 2.1 基于 RT-Thread studio ### 2.1.1 下载安装必备软件环境 - 下载并安装 [RT-Thread studio](https://oss-club.rt-thread.org/uploads/20220818/da39a3ee5e6b4b0d3255bfef95601890afd80709.png) - 下载 BSP 支持包,勾选最新版即可。 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/255b475d330621828ebabc461307af97b6ebd656.png) ### 2.1.2 创建工程测试结果 1. 打开 RT-Thread studio,创建开发板模板工程 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/66bdc3f3c95a4de0eed41be6df181234c219f576.png) ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/3a1c825b2367eb58c82986952b8eebdc27f7d30b.png) ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/4fe8c83fdb02dc5e81b38a436add87c69a8cd48a.png) 2. 打开创建的工程,双击 RA Smart Configurator 即可打开刚刚安装的 FSP 配置工具 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/a549994f0d5d6047d9a1053ff59c652979f6d59c.png) 3. 第一次打开需要配置 FSP 路径,选择到安装路径即可。确认可打开 FSP 即可关闭,先不做修改继 续后续操作。 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/7d459ffd708c72f13fc2364ef4fd1cf8b8930e4c.png) 4. 编译工程,确认工具链配置正确 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/dbee9f39a262a7494fe10162f994e802a920ed3e.png) 5. 接线:连接串口工具、USB-Jlink,**跳线(normal opearation, device mode)** ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/782f4a1c878a2016f46a62da783b876531629393.png) 6. 连接 UART7 (TX:P613; RX:P614),波特率 115200。此路串口用于 RT-Thread 系统命令行交互。 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/90a1a2d6cdcf2d408b577a6b8b2fc30f7e4e01d2.png) 7. 下载程序到开发板,注意下载的是 HEX 文件。 - 查看运行结果 > 下载程序成功之后,系统会自动运行并打印系统信息。 连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以 看到 RT-Thread 的输出信息。输入 help 命令可查看系统中支持的命令。 ```bash \ | / - RT - Thread Operating System / | \ 4.1.0 build Jan 18 2022 18:48:37 2006 - 2021 Copyright by rt-thread team Hello RT-Thread! msh > RT-Thread shell commands: icu_sample - icu sample list - list all commands in system list_device - list device in system list_timer - list timer in system list_msgqueue - list message queue in system list_mailbox - list mail box in system list_mutex - list mutex in system list_event - list event in system list_sem - list semaphore in system list_thread - list thread version - show RT - Thread version information clear - clear the terminal screen hello - say hello world free - Show the memory usage in the system. ps - List threads in the system. help - RT - Thread shell help. reboot - Reboot System msh > ``` - 应用入口函数 应用层的入口函数在 bsp\ra6m4-cpk\src\hal_emtry.c 中 的 void hal_entry(void) 。用户编写的源文件 可直接放在 src 目录下。 ```c void hal_entry(void) { rt_kprintf("\nHello RT-Thread!\n"); while (1) { rt_pin_write(LED3_PIN, PIN_HIGH); rt_thread_mdelay(500); rt_pin_write(LED3_PIN, PIN_LOW); rt_thread_mdelay(500); } } ``` # 2 IIC 光线传感器实验 使用上文中创建好的工程,根据以下操作完成板载光线传感器的实验。 ## 2.1 添加传感器软件包. 打开 RT-Thread settings,在软件包中心搜索 isl29035 并点击添加软件包。 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/1dd45b5c8e95490ce4208e931cec8eecd8d75755.png) ## 2.2 配置软件 IIC 打开 硬件 配置页,在 芯片设备驱动 配置中打开I2C外设,可以查看开发板的用户手册确认板载光线传 感器对接的芯片引脚号,并配置软件I2C使用的引脚,注意引脚编号是16进制数表示。 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/7402fb5384c05bb60c9b147bb764f215770dc520.png) ## 2.3 测试验证 配置完成后 `ctrl + s` 保存工程,接下来就是验证传感器能否正常工作。 - 打开软件包目录下的 README 文档,查看文档中描述的测试验证方法。 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/cba4a5d7fa42a261697d584ce5d10f9209ef65e9.png) - 将测试代码添加到 `hal_entry.c` 文件中。保存修改,编译下载。 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/b346f060f2668e5b8b4e7f39b3003363049efc37.png) `hal_entry.c` ```cpp /* * Copyright (c) 2006-2021, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * 2021-10-10 Sherman first version * 2021-11-03 Sherman Add icu_sample */ #include
#include "hal_data.h" #include
#define LED3_PIN BSP_IO_PORT_01_PIN_06 #define USER_INPUT "P105" void hal_entry(void) { rt_kprintf("\nHello RT-Thread!\n"); while (1) { rt_pin_write(LED3_PIN, PIN_HIGH); rt_thread_mdelay(500); rt_pin_write(LED3_PIN, PIN_LOW); rt_thread_mdelay(500); } } void irq_callback_test(void *args) { rt_kprintf("\n IRQ00 triggered \n"); } void icu_sample(void) { /* init */ rt_uint32_t pin = rt_pin_get(USER_INPUT); rt_kprintf("\n pin number : 0x%04X \n", pin); rt_err_t err = rt_pin_attach_irq(pin, PIN_IRQ_MODE_RISING, irq_callback_test, RT_NULL); if(RT_EOK != err) { rt_kprintf("\n attach irq failed. \n"); } err = rt_pin_irq_enable(pin, PIN_IRQ_ENABLE); if(RT_EOK != err) { rt_kprintf("\n enable irq failed. \n"); } } MSH_CMD_EXPORT(icu_sample, icu sample); #include "sensor_renesas_isl29035.h" #define ISL29035_I2C_BUS "i2c1" int rt_hw_isl29035_port(void) { struct rt_sensor_config cfg; cfg.intf.dev_name = ISL29035_I2C_BUS; rt_hw_isl29035_init("isl29035", &cfg); return RT_EOK; } INIT_ENV_EXPORT(rt_hw_isl29035_port); ``` - 可能默认使用的JLink-v7.50版本会下载失败,可以修改为6.80版本的JLink再尝试下载。 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220818/491be9313ab1ce874ecace1c88c60843497cdd84.png) - 根据 README 中的介绍,输入测试命令 `sensor_polling li_isl29` 验证传感器能否正常读到数 据。 ```bash msh >[I/I2C] I2C bus [i2c1] registered \ | / - RT - Thread Operating System / | \ 4.1.0 build Aug 15 2022 10:56:59 2006 - 2022 Copyright by RT-Thread team [I/sensor] rt_sensor[li_isl29035] init success Hello RT-Thread! msh >help RT-Thread shell commands: icu_sample - icu sample clear - clear the terminal screen version - show RT-Thread version information list_thread - list thread list_sem - list semaphore in system list_event - list event in system list_mutex - list mutex in system list_mailbox - list mail box in system list_msgqueue - list message queue in system list_timer - list timer in system list_device - list device in system help - RT-Thread shell help. ps - List threads in the system. free - Show the memory usage in the system. sensor_fifo - Sensor fifo mode test function sensor_int - Sensor interrupt mode test function sensor_polling - Sensor polling mode test function sensor - sensor test function reboot - Reboot System msh >sensor_polling li_isl29 [I/sensor.cmd] num: 0, light: 122 lux, timestamp:536876370 [I/sensor.cmd] num: 1, light: 124 lux, timestamp:536876370 [I/sensor.cmd] num: 2, light: 125 lux, timestamp:536876370 [I/sensor.cmd] num: 3, light: 124 lux, timestamp:536876370 [I/sensor.cmd] num: 4, light: 124 lux, timestamp:536876370 [I/sensor.cmd] num: 5, light: 81 lux, timestamp:536876370 [I/sensor.cmd] num: 6, light: 65 lux, timestamp:536876370 [I/sensor.cmd] num: 7, light: 62 lux, timestamp:536876370 [I/sensor.cmd] num: 8, light: 126 lux, timestamp:536876370 [I/sensor.cmd] num: 9, light: 56 lux, timestamp:536876370 msh > ``` 参考文献: - [【实验1:RT-Thread环境搭建+IIC光线传感器实验】](https://blog.csdn.net/VOR234/article/details/126347128) - [【实验2:ADC电位计实验】](https://blog.csdn.net/VOR234/article/details/126349596) - [【实验3:RW007联网实验】](https://blog.csdn.net/VOR234/article/details/126350283) - [【实验4:MQTT交互实验】](https://blog.csdn.net/VOR234/article/details/126350769) - [【实验5:网关上云实验】](https://blog.csdn.net/VOR234/article/details/126350972) - [demo文件](https://download.csdn.net/download/VOR234/86401651)
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
2345vor
每天都满怀期待i😀
文章
20
回答
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
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
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
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
线程
RT-Thread Nano
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
编译报错
Debug
SFUD
msh
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1443
个答案
289
次被采纳
张世争
807
个答案
174
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
4
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
1
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部