[综合信息]

【SWDM-QFP100-34SVEA3测评】+ DS18B20采集温度

[复制链接]
1146|32
手机看帖
扫描二维码
随时随地手机跟帖
muxb|  楼主 | 2023-3-25 18:04 | 显示全部楼层 |阅读模式
本帖最后由 muxb 于 2023-3-27 09:02 编辑

#申请原创# 拿到板子首先研究了GPIO的操作,厂家提供的资料很全,有硬件原理图,软件库,LVGL demo等,详见百度网盘:百度网盘:https://pan.baidu.com/s/1atLWlk1_SUR8WjISr-Bfpw
密码:byv2

首先看板子照片和显示效果:
这个是接了DS18B20的图片,接的是B0脚。
IMG_20230325_172637.jpg

这个是LCD显示的测试信息,本来想把温度也显示在LCD上的,但是还在调试中,现在只显示了demo。
IMG_20230325_172654.jpg

从原理图上找的空闲脚,B0和N4,N5都可以:
1.JPG

因为要用到DS18B20的GPIO操作,所以首先测试了一下GPIO的翻转,软件库还挺好用:
就两句话,初始化和赋值。

uuu.JPG


这个是在1ms的中断服务程序中翻转,翻转的是N4脚。
tt.JPG

这个是翻转的波形:
未命名1679652486.png

接着就移植和调试DS18B20的驱动,简单的读取了一下ID和温度值:
捕获.PNG

因为要用定时器延时,需要知道系统时钟,直接打印了系统时钟150MHz,的确挺高的。
这个是我用定时器4实现的微秒延时,还挺准的:
void delayus(uint32_t cnt)
{
        TIMRG->EN = 0;
        TIMR4->CR = 0;
        TIMR4->PREDIV = 25 - 1;        //150M/25=6M
        TIMR4->LOAD = cnt*6 - 1;        //6/6M=1us
        TIMRG->EN |= 0x10;        //tmr4 en
        while(TIMR4->VALUE & 0x000FFFFF);
        TIMRG->EN &= 0xEF;        //tmr4 dis
}


最后,说下程序下载,因为我没有JLINK V9,所以直接用的ISP方式下载,这个工具也挺好用的:
sss.JPG
SWD和串口复用的,所以下载的时候直接把TX RX跳过去到SWD上面就好了,ISP那个脚接上3V3,RST一下就可以握手成功了。
欢迎大家互相交流,继续调试了。。。

使用特权

评论回复

相关帖子

tpgf| | 2023-4-10 14:25 | 显示全部楼层
现在可以正常读取18B20的温度数据了吗

使用特权

评论回复
nawu| | 2023-4-10 15:05 | 显示全部楼层
如果用定时器延时的话  会不会需要经常修改定时时间呢

使用特权

评论回复
muxb|  楼主 | 2023-4-10 15:23 | 显示全部楼层
tpgf 发表于 2023-4-10 14:25
现在可以正常读取18B20的温度数据了吗

可以了。

使用特权

评论回复
muxb|  楼主 | 2023-4-10 15:24 | 显示全部楼层
nawu 发表于 2023-4-10 15:05
如果用定时器延时的话  会不会需要经常修改定时时间呢

系统时钟固定的,不用经常修改。

使用特权

评论回复
aoyi| | 2023-4-10 15:27 | 显示全部楼层
SWD和串口复用的话 可以考虑更换串口的引脚吗

使用特权

评论回复
zljiu| | 2023-4-10 15:54 | 显示全部楼层
1us的延时 那岂不是要经常进入定时器了

使用特权

评论回复
gwsan| | 2023-4-10 16:21 | 显示全部楼层
温度本来就不是一个变化很快的量 感觉完全没有必要这么密集的采集

使用特权

评论回复
tfqi| | 2023-4-10 16:31 | 显示全部楼层
gwsan 发表于 2023-4-10 16:21
温度本来就不是一个变化很快的量 感觉完全没有必要这么密集的采集

楼主定时器不是用来采集的吧是不是用来实现二总线时序读取的啊

使用特权

评论回复
muxb|  楼主 | 2023-4-13 11:43 | 显示全部楼层
zljiu 发表于 2023-4-10 15:54
1us的延时 那岂不是要经常进入定时器了

延时完定时器就关闭了,不是一直进中断的。

使用特权

评论回复
muxb|  楼主 | 2023-4-13 11:45 | 显示全部楼层
gwsan 发表于 2023-4-10 16:21
温度本来就不是一个变化很快的量 感觉完全没有必要这么密集的采集

每秒采一次还好吧。

使用特权

评论回复
muxb|  楼主 | 2023-4-13 11:46 | 显示全部楼层
aoyi 发表于 2023-4-10 15:27
SWD和串口复用的话 可以考虑更换串口的引脚吗

不用考虑更换,那是芯片BOOT程序,你改不了。

使用特权

评论回复
muxb|  楼主 | 2023-4-13 11:47 | 显示全部楼层
tfqi 发表于 2023-4-10 16:31
楼主定时器不是用来采集的吧是不是用来实现二总线时序读取的啊

定时器是用来实现精确延时的,不是用来采集温度的。

使用特权

评论回复
muxb|  楼主 | 2023-4-13 11:47 | 显示全部楼层
tfqi 发表于 2023-4-10 16:31
楼主定时器不是用来采集的吧是不是用来实现二总线时序读取的啊

定时器是用来实现精确延时的,不是用来采集温度的。

使用特权

评论回复
woai32lala| | 2023-4-23 16:38 | 显示全部楼层
学习

使用特权

评论回复
woai32lala| | 2023-4-23 16:38 | 显示全部楼层
学习

使用特权

评论回复
mollylawrence| | 2023-5-7 10:26 | 显示全部楼层
DS18B20温度传感器实现实时温度测量

使用特权

评论回复
muxb|  楼主 | 2023-5-7 11:31 | 显示全部楼层
mollylawrence 发表于 2023-5-7 10:26
DS18B20温度传感器实现实时温度测量

是的。

使用特权

评论回复
lzmm| | 2023-5-7 13:59 | 显示全部楼层
来一个通过DS18B20传感器采集温度,采用PID算法的程序

使用特权

评论回复
elsaflower| | 2023-5-7 15:21 | 显示全部楼层
DS18B20是一种数字式温度传感器,可以通过单总线接口与单片机相连,实现对环境温度的测量。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

586

帖子

7

粉丝