AB32VG1之DHT11温湿度测量

新建工程步骤见中科蓝讯 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软件监控到打印的温湿度数值,如附图所示。

图片

图片

猜你喜欢

转载自blog.csdn.net/chanchairen/article/details/121546050