ds18b20温度传感器读值不稳定???
问题见红色注释
驱动中的函数:(驱动肯定没问题的,是教程上自带的)
static ssize_t s3c2440_18b20_read(struct file *filp, char *buf, size_t len, loff_t *off)
{
DS18B20PRO();
*buf=sdata; //温度值
//printk("%d\n",xiaoshu);
//printk("%d\n",sdata);
return 1;
}
测试函数:
{fd = open("/dev/18b20", 0);
if(fd < 0)
{
perror("Can't open /dev/18b20 \n");
exit(1);
}
printf("open ds18b20 success \n");
t= new QTimer(this);
connect(t, SIGNAL(timeout()),this , SLOT(readTem()));
t->start(1);// 问题:当延时增大时,温度传感器就不灵了,用烟头烤,读出的温度都不变。只有延时为1时才有变化????
}
void Tem::readTem()
{
char tmp;
read(fd, &tmp , sizeof(char));
printf("tmp is dd %d\n",tmp);//问题出来了,这里的tmp偶尔会很大???
}
驱动中的函数:(驱动肯定没问题的,是教程上自带的)
static ssize_t s3c2440_18b20_read(struct file *filp, char *buf, size_t len, loff_t *off)
{
DS18B20PRO();
*buf=sdata; //温度值
//printk("%d\n",xiaoshu);
//printk("%d\n",sdata);
return 1;
}
测试函数:
{fd = open("/dev/18b20", 0);
if(fd < 0)
{
perror("Can't open /dev/18b20 \n");
exit(1);
}
printf("open ds18b20 success \n");
t= new QTimer(this);
connect(t, SIGNAL(timeout()),this , SLOT(readTem()));
t->start(1);// 问题:当延时增大时,温度传感器就不灵了,用烟头烤,读出的温度都不变。只有延时为1时才有变化????
}
void Tem::readTem()
{
char tmp;
read(fd, &tmp , sizeof(char));
printf("tmp is dd %d\n",tmp);//问题出来了,这里的tmp偶尔会很大???
}
...全文
相关推荐
STM32F103读取ds18b20温度传感器
STM32F103读取ds18b20温度传感器,通过串口回显数据方便观察。代码注释明确易读懂,方便开发者拿来直接使用。
STM32——DS18B20温度传感器
STM32——BS18B20温度传感器
【51单片机系列】DS18B20温度传感器模块
DS18B20是 DALLAS半导体公司推出的一种“一线总线(单总线)”接口的温度传感器。与传统的热敏电阻等测温元件相比,DS18B20是一种新型的、体积小、使用电压宽、与微处理器接口简单的数字化温度传感器。
【FPGA】DS18B20数字温度传感器实验
我们将对照原味的“ 英文手册 ”来分析实在看不懂还可以戳这里中文手册传送门!!! 全英文,算了摆烂了。。。😭 别急,原子哥给出了中文版结构图,这样对照起来一目了然👍 DS18B20的内部结构主要由8部分组成:那么,FPGA需要怎样控制才能让DS18B20工作并将温度数据读取出来呢??? 温馨提示:命令解释有点繁琐,我们可以把此部分当作资料来查看,现在也可以直接去看命令用法ROM功能命令就是操作这一块“ 只读 ”的存储器 64位ROM的具体内容如下图: 64位ROM中的序列号是出厂前被光刻好的,它可以..
DS18B20温度传感器完整C程序
在这里和大家分享一个DS18B20温度传感器的C语言程序,感兴趣的朋友可以看看。


驱动开发/核心开发
