【小华HC32F4A0】初识工规级高性能 开发板
【小华HC32F4A0】零代码闪灯
【小华HC32F4A0】RTT 命令行点亮LED灯
【小华HC32F4A0】RTT —UART Hello world
【小华HC32F4A0】RTT OLED
hs3003是一款瑞萨的温湿度传感器,i2c接口。我们在上篇OLED的基础上,驱动HS3003.
1、添加组件:
2、添加后保存settings,关闭后我们看到hs300x软件包已经添加成功:
3、打开目录下的readme使用说明,添加初始化命令:
我们在main.c添加初始化命令:
/*
* Copyright (c) 2006-2022, RT-Thread Development Team
* Copyright (c) 2022, Xiaohua Semiconductor Co., Ltd.
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2022-04-28 CDT first version
*/
#include <rtthread.h>
#include <rtdevice.h>
#include <board.h>
/* defined the LED_GREEN pin: PC9 */
#define LED_GREEN_PIN GET_PIN(C, 9)
#include "sensor_renesas_hs300x.h"
#define HS300X_I2C_BUS "i2c1"
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);
int main(void)
{
/* set LED_GREEN_PIN pin mode to output */
rt_pin_mode(LED_GREEN_PIN, PIN_MODE_OUTPUT);
while (1)
{
rt_pin_write(LED_GREEN_PIN, PIN_HIGH);
rt_thread_mdelay(500);
rt_pin_write(LED_GREEN_PIN, PIN_LOW);
rt_thread_mdelay(500);
}
}
5、按上一节的PF10接SDA、PD3接SCL。
6、编译下载后,打开串口终端,输入help,我们看到有sensor的组件:
输入sensor_int i2c1 初始化hs3003
- 通过导出的测试命令 `sensor_polling humi_hs3` ,判断能否成功读取湿度数据。
- 通过导出的测试命令 `sensor_polling temp_hs3` ,判断能否成功读取温度数据。
看出来获取温度与湿度是对的。
【小结】小华HC32F4A0加入RTT生态,支持sensor组件,对常见传感器驱动非常方便快捷!