新建工程步骤见中科蓝讯 AB32VG1 开发板 GPIO 控制RGB彩灯实验,建好工程之后,需要添加DHT11组件,方法双击打开RT-Thread Settings,如下图所示,点击Add按钮,弹出软件包搜索界面,输入DHT11点击搜索,如下图所示显示2个结果,点击添加第一个组件即可。
添加成功以后,返回,然后双击DHT11软件包,进入软件包配置界面,配置如下图所示。然后保存即可。
配置完成之后,展开packages,可以看到DHT11的源文件和demo已经存在了,如下图所示。
下一步,打开sensor_dallas_dht11.c文件,找到下图所示的rt_hw_us_delay函数,删除此函数。
然后,在board.c中rt_hw_us_delay函数中添加如下代码:
void rt_hw_us_delay(rt_uint32_t us)
{
rt_uint32_t ticks;
rt_uint32_t told, tnow, tcnt = 0;
rt_uint32_t reload = TMR0PR;
ticks = us * reload / (1000);
told = TMR0CNT;
while (1)
{
tnow = TMR0CNT;
if (tnow != told)
{
if (tnow > told)
{
tcnt += tnow - told;
}
else
{
tcnt += reload - told + tnow;
}
told = tnow;
if (tcnt >= ticks)
{
break;
}
}
}
最后,修改data连接的引脚,打开DHT11_SAMPLE.C源文件,修改DHT11_DATA_PIN,因为我板子连接的是PA0,所以这里修改如下:
#define DHT11_DATA_PIN GET_PIN(A, 0)
然后编译项目,没有错误,生成rtthread.dcf文件,下载文件至开发板,通过downloader软件监控到打印的温湿度数值,如附图所示。