前言
RT-Thread学习,看完了好多视频,但是但是理论上的知识,还没有自己动手实践出来刚好手里还有之前电赛的时候,买的潘多拉开发板,一直想跟着学习,但是时间太少,今天腾出时间来学一下,不能让板子吃灰,不过下载好板子的资料之后,发现不知道要从哪开始下手(有点尴尬哈)
好了废话不多说,开始上代码吧
开发前准备
正点原子潘多拉开发板一块,RT-Thread Studio开发工具即可
首先
第一步:打开我们的RT-Stuidio 然后加载我们的软件包
然后会出现一下的画面
点击《《这个按钮
然后会出现这个界面
点击硬件
然后按照如下图来进行勾选
点击保存我们的工程
出现编译画面
编译无出错
前期准备已经结束
步骤如下
我们在application目录下面建一个用来获取aht10的c文件
示例代码如下
/*
* Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2022-10-07 Xiao Bai the first version
*/
#include <rtthread.h>
#include "rtdevice.h"
#include <board.h>
#include "aht10.h"
extern struct aht10_device *temp_humi_dev;
/* 定义一个温湿度采集线程句柄结构体指针 */
static rt_thread_t aht10_thread = RT_NULL;
/* 温湿度采集线程入口*/
static void aht10_thread_entry(void *parameter)
{
float humi , temp;
rt_size_t res;
while(1)
{
humi = aht10_read_humidity(temp_humi_dev);
temp = aht10_read_temperature(temp_humi_dev);
rt_kprintf("temperature: %d.%d \r\n humidity : %d.%d \r\n ", (int)temp, (int)(temp * 10) % 10, (int)humi, (int)(humi * 10) % 10); /* former is integer and behind is decimal */
rt_thread_delay(1000);
lcd_show_string(10, 75, 24, "Temp: %d.%d C", (int)temp, (int)(temp * 10) % 10);
lcd_show_string(10, 105, 24, "Humi: %d.%d %%", (int)humi, (int)(humi * 10) % 10);
}
}
static int app_aht10_init(void)
{
rt_err_t rt_err;
/* 创建温湿度采集线程*/
aht10_thread = rt_thread_create("aht10 thread", /* 线程的名称 */
aht10_thread_entry, /* 线程入口函数 */
RT_NULL, /* 线程入口函数的参数 */
1024, /* 线程栈大小,单位是字节 */
25, /* 线程的优先级,数值越小优先级越高*/
10); /* 线程的时间片大小 */
/* 如果获得线程控制块,启动这个线程 */
if (aht10_thread != RT_NULL)
rt_err = rt_thread_startup(aht10_thread);
else
rt_kprintf("aht10 thread create failure !!! \n");
/* 判断线程是否创建成功 */
if( rt_err != RT_EOK)
rt_kprintf("aht10 thread startup err. \n");
return RT_EOK;
}
INIT_APP_EXPORT(app_aht10_init);
这里有个地方需要注意修改我们的这个文件把他变成全局变量
按照我这样修改
修改之后连接我们串口看看打印的信息:
这样之后会我们就可以看到我们的串口打印的信息了
接下来就可以在我我们的LCD屏上显示了:
这样就🆗了,这里是借鉴了大佬的代码,找了好久才发现的,主要是资料太少了,希望可以帮助大家,我会把我工程的源码放在文章末尾,
当然大家也可以参考这位博主的文章。
RT-Thread Studio入门(6)— 采集温湿度数据_Willliam_william的博客-CSDN博客
这个我我的工程百度云盘
链接:https://pan.baidu.com/s/1hn1lRbqZzOX2B1K1kkJzKQ
提取码:6666