标题:
stm32源程序:ds18b20内部ID序列号获取
[打印本页]
作者:
xiaojing2018
时间:
2018-3-7 15:35
标题:
stm32源程序:ds18b20内部ID序列号获取
使用stm32单片机,通过串口助手可获取ds18b20的内部序列号
单片机源程序如下:
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "ds18b20.h"
//MAXNUM在ds18b20.h中定义
u8 ID_Buff[MAXNUM][8];
int main(void)
{
u8 i,j,num;
short Temp;
delay_init(); //延时函数初始化
DS18B20_Init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
uart_init(115200); //串口初始化为 115200
LED_Init();
printf("start system ...\r\n\r\n");
num = DS18B20_SearchROM(ID_Buff,MAXNUM);
printf("总线上挂载的DS18B20数量为: %d\r\n",MAXNUM);
printf("搜索到的DS18B20数量为: %d\r\n",num);
for(i = 0;i < num;i ++)
{
printf("\r\n DS18B20 No%d ID: ",i);
for(j = 0;j < 8;j ++)
{
printf("%02X ",ID_Buff[i][j]);
}
}
i = 0;
while(1)
{
LED1 = ~LED1;
delay_ms(1000);
Temp = DS18B20_ReadDesignateTemper(ID_Buff[i ++]);
printf("\r\n 第%d个DS18B20温度为:%.2f ℃",i,Temp/100.0);
if(i == num)
{
i = 0;
printf("\r\n");
}
}
}
复制代码
所有资料51hei提供下载:
ds18B20内部ID获取.zip
(361.67 KB, 下载次数: 137)
2018-3-7 15:35 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
yanz123
时间:
2018-6-18 23:08
为啥该程序用于多通道温度显示时,从第二个通道开始就只能显示一个传感器的序列号和读取对应的温度值而已
作者:
Liqipeng0822
时间:
2019-4-11 09:36
谢谢楼主分享!目前想尝试多个DS18B20一起工作。
作者:
cement777
时间:
2020-1-31 21:39
谢谢楼主分享!
作者:
HWL0541
时间:
2020-2-25 18:56
开始学32 正需要,谢谢楼主
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1