仪器网(yiqi.com)欢迎您!

| 注册登录
网站首页-资讯-专题- 微头条-话题-产品- 品牌库-搜索-供应商- 展会-招标-采购- 社区-知识-技术-资料库-方案-产品库- 视频

问答社区

温湿度传感器sht10写函数这一段怎么理解?程序见补充说明

chengadibxt45 2010-06-22 03:51:59 436  浏览
  • *--------------------------------------;模块名称:s_write_byte();;功能:SHT10写函数;参数说明:;创建日期:;版本:;修改日期:;修改说明:;-------------------------------------*/cha... *-------------------------------------- ;模块名称:s_write_byte(); ;功 能:SHT10写函数 ;参数说明: ;创建日期: ;版 本: ;修改日期: ;修改说明: ;-------------------------------------*/ char s_write_byte(unsigned char value) //---------------------------------------------------------------------------------- // writes a byte on the Sensibus and checks the acknowledge { unsigned char i,error=0; for (i=0x80;i>0;i/=2) //shift bit for masking { if (i & value) DATA=1; //masking value with i , write to SENSI-BUS else DATA=0; SCK=1; //clk for SENSI-BUS _nop_();_nop_();_nop_(); //pulswith approx. 3 us SCK=0; } DATA=1; //release DATA-line SCK=1; //clk #9 for ack error=DATA; //check ack (DATA will be pulled down by SHT11),DATA在第9个上升沿将被SHT11自动下拉为低电平。 _nop_();_nop_();_nop_(); SCK=0; DATA=1; //release DATA-line return error; //error=1 in case of no acknowledge //返回:0成功,1失败 } 展开

参与评论

全部评论(2条)

  • ooggrree 2010-06-23 00:00:00
    二楼顶一个

    赞(4)

    回复(0)

    评论

  • nssvnsbvnbv 2010-06-23 00:00:00
    就是标准的I2C写字节操作呀.从valueZ高位开始发送数据到i2c总线上,共发送8次.(i/=2相当于右移一位).发送完成后,再从DATA数据线上接收应答.

    赞(9)

    回复(0)

    评论

获取验证码
我已经阅读并接受《仪器网服务协议》

热门问答

温湿度传感器sht10写函数这一段怎么理解?程序见补充说明
*--------------------------------------;模块名称:s_write_byte();;功能:SHT10写函数;参数说明:;创建日期:;版本:;修改日期:;修改说明:;-------------------------------------*/cha... *-------------------------------------- ;模块名称:s_write_byte(); ;功 能:SHT10写函数 ;参数说明: ;创建日期: ;版 本: ;修改日期: ;修改说明: ;-------------------------------------*/ char s_write_byte(unsigned char value) //---------------------------------------------------------------------------------- // writes a byte on the Sensibus and checks the acknowledge { unsigned char i,error=0; for (i=0x80;i>0;i/=2) //shift bit for masking { if (i & value) DATA=1; //masking value with i , write to SENSI-BUS else DATA=0; SCK=1; //clk for SENSI-BUS _nop_();_nop_();_nop_(); //pulswith approx. 3 us SCK=0; } DATA=1; //release DATA-line SCK=1; //clk #9 for ack error=DATA; //check ack (DATA will be pulled down by SHT11),DATA在第9个上升沿将被SHT11自动下拉为低电平。 _nop_();_nop_();_nop_(); SCK=0; DATA=1; //release DATA-line return error; //error=1 in case of no acknowledge //返回:0成功,1失败 } 展开
2010-06-22 03:51:59 436 2
温湿度传感器 sht10的3脚怎么用?
 
2018-11-18 07:37:10 397 0
SHT10(SHT11)温湿度传感器输出数据不稳定
SHT10(或SHT11)测量湿度时,输出的数据不稳定,比如测量74%湿度时,在67%~82%之间跳动,测量温度则偏高离普:测量22度时,输出为95度左右乱跳,也不稳定。排除器件损坏的问题,因为换... SHT10(或SHT11)测量湿度时,输出的数据不稳定,比如测量74%湿度时,在67%~82%之间跳动,测量温度则偏高离普:测量22度时,输出为95度左右乱跳,也不稳定。排除器件损坏的问题,因为换了一个还是一样,焊好之后也放置了24小时了,请哪位大师帮忙解决,感激不尽! 展开
2018-11-25 06:39:54 289 0
温湿度传感器SHT10和SHT11的区别?
想知道sht10和sht11有什么区别?除了精度以外?他们的性能.工作原理.程序是不是都可以通用?麻烦详细点.谢谢!满意还会加分的.... 想知道sht10和sht11有什么区别? 除了精度以外? 他们的性能.工作原理.程序是不是都可以通用? 麻烦详细点.谢谢! 满意还会加分的. 展开
2009-03-15 07:26:02 473 2
DHT21温湿度传感器 stm32f010 写的程序 求大神?
DHT21温湿度传感器stm32f010写的程序求大神?DHT21温湿度传感器stm32f010写的程序求大神写写。... DHT21温湿度传感器 stm32f010 写的程序 求大神?DHT21温湿度传感器 stm32f010 写的程序 求大神写写。 展开
2018-11-12 12:10:45 357 0
能请大神帮我看看52单片机和sht10温湿度传感器程序吗
能请大神帮我看看52单片机和sht10温湿度传感器程序吗可以私聊... 能请大神帮我看看52单片机和sht10温湿度传感器程序吗可以私聊 展开
2018-03-21 06:07:21 280 1
单片机通过温湿度传感器sht11控制草坪喷水,程序怎么写啊?
 
2012-12-12 10:50:58 411 4
西门子s7200,温湿度传感器sht10,力控怎么通过plc显示温湿度数据
如上所说。希望大家帮忙... 如上所说。希望大家帮忙 展开
2016-04-26 08:59:09 357 1
集成温湿度传感器SHT11和SHT10的区别~
是不是仅仅只有性能上的区别?使用和设计方法是不是一样?如果不一样,请说明不一样在哪... 是不是仅仅只有性能上的区别? 使用和设计方法是不是一样?如果不一样,请说明不一样在哪 展开
2009-02-28 13:53:05 359 3
温湿度传感器SHT10与51单片机连接电路
 
2009-08-08 05:29:07 257 4
sht10温湿度传感器 采用什么方式与CPU通讯
 
2015-06-23 03:32:36 407 3
如何理解温湿度一体传感器校准报告
 
2017-03-04 15:49:37 366 2
请翻译检测设备(懂科技英文的人),具体内容见补充说明
摆锤冲击试验机、大型金相显微镜、投影wan能测长仪、布洛维光学硬度机、便携式直读光谱分析仪(德国进口)、超声波测厚仪、金相试样磨抛机、超声波探伤仪、里氏硬度计、液压wan能试验机、γ射线探伤仪
2009-09-07 01:47:18 511 2
求DHT22/AM2302温湿度传感器Arduino程序
 
2015-05-02 10:27:39 423 1
组态循环程序怎么写?
 
2011-12-28 10:32:59 330 2
Arduino中,温湿度传感器检测温湿度并控制继电器动作,的程序
温湿度传感器检测到湿度后,判断当前湿度低于某个值之后,控制继电器合上,当当前湿度高于某个值后,控制继电器断开intDHpin=8;bytedat[5];byteread_data(){bytedata;for(inti=0;i<8;... 温湿度传感器检测到湿度后,判断当前湿度低于某个值之后,控制继电器合上,当当前湿度高于某个值后,控制继电器断开
int DHpin = 8;
byte dat[5];
byte read_data()
{
byte data;
for(int i=0; i<8; i++)
{
if(digitalRead(DHpin) == LOW)
{
while(digitalRead(DHpin) == LOW); //等待 50us;
delayMicroseconds(30); //判断高电平的持续时间,以判定数据是‘0’还是‘1’;
if(digitalRead(DHpin) == HIGH)
data |= (1<<(7-i)); //高位在前,低位在后;
while(digitalRead(DHpin) == HIGH); //数据‘1’,等待下一位的接收;
} } return data; } void start_test() { digitalWrite(DHpin,LOW); //拉低总线,发开始信号; delay(30); //延时要大于 18ms,以便 DHT11 能检测到开始信号; digitalWrite(DHpin,HIGH); delayMicroseconds(40); //等待 DHT11 响应; pinMode(DHpin,INPUT); while(digitalRead(DHpin) == HIGH); delayMicroseconds(80); //DHT11 发出响应,拉低总线 80us; if(digitalRead(DHpin) == LOW); delayMicroseconds(80); //DHT11 拉高总线 80us 后开始发送数据; for(int i=0;i<4;i++) //接收温湿度数据,校验位不考虑; dat[i] = read_data(); pinMode(DHpin,OUTPUT); digitalWrite(DHpin,HIGH); //发送完一次数据后释放总线,等待主机的下一次开始信号; } void setup() { Serial.begin(9600); pinMode(DHpin,OUTPUT); } void loop() { start_test(); Serial.print("Current humdity = "); Serial.print(dat[0], DEC); //显示湿度的整数位; Serial.print('.'); Serial.print(dat[1],DEC); //显示湿度的小数位; Serial.println('%'); Serial.print("Current temperature = "); Serial.print(dat[2], DEC); //显示温度的整数位; Serial.print('.'); Serial.print(dat[3],DEC); //显示温度的小数位; Serial.println('C'); delay(700); } 这个是检测温湿度的程序 展开
2016-10-28 22:20:05 616 1
DHT11 温湿度传感器 avr nega 16 c程序
用4个共阳的数码管显示的mega16avr单片机的c程序... 用4个共阳的数码管显示的 mega 16 avr单片机的 c程序 展开
2018-11-28 15:47:44 308 0
求DHT22/AM2302温湿度传感器AT89S52单片机程序
求DHT22/AM2302温湿度传感器AT89S52单片机程序,就是温湿度数据读取和处理的哪方面。求具体程序。... 求DHT22/AM2302温湿度传感器AT89S52单片机程序,就是温湿度数据读取和处理的哪方面。求具体程序。 展开
2012-05-29 02:50:34 297 2
dht11温湿度传感器汇编程序?网上只有c程序
 
2018-12-22 19:15:39 408 0
温湿度传感器模块怎么写温度达到设定的限度警报
 
2016-11-30 01:07:09 366 1

2月突出贡献榜

推荐主页

最新话题