中科蓝讯AB32VG1之DS18B20温度测量

因为做水质TDS的检测,需要根据当前温度做温度补偿,这里测温用的是DS18B20实现的,所以就用蓝讯AB32VG1开发板PA5引脚进行DS18B20的测温开发。

图片

    新建工程步骤省略,建好工程之后,需要添加DS18B20组件,方法双击打开RT-Thread Settings,如下图所示,点击Add按钮,弹出软件包搜索界面,输入DS18B20点击搜索,如下图所示显示1个结果,点击添加即可。

图片


     添加成功以后,返回,然后双击DS18B20软件包,进入软件包配置界面,配置如下图所示。然后保存即可。

图片

配置完成之后,展开packages,可以看到DS18B20的源文件和demo已经存在了,如下图所示。

图片

如果这时候直接编译工程,则会报错,如下

图片

本芯片无PG9引脚,这里需要修改引脚,将代码#define DS18B20_DATA_PIN    GET_PIN(G, 9)改为#define DS18B20_DATA_PIN    GET_PIN(A, 5),因为这里使用的PA5引脚。

另外,删除报错的RT_WEAK void rt_hw_us_delay(rt_uint32_t us)函数(以前SMT32上移植过RTT,用的就是这个延时函数,不知道为何这里报错),同时在board.c中,

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;
                    }
                }
            }


}

,此时,在编译项目,就会不错了,将生成的dcf文件下载之开发板,通过下载工具监控到温度如下所示

图片

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值