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

*--------------------------------------;模块名称:s_write_byte();;功能:SHT10写函数;参数说明:;创建日期:;... *--------------------------------------
;模块名称: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-23
展开全部
就是标准的I2C写字节操作呀.从value最高位开始发送数据到i2c总线上,共发送8次.(i/=2相当于右移一位).发送完成后,再从DATA数据线上接收应答.
joinwen0000
2010-06-23 · TA获得超过500个赞
知道小有建树答主
回答量:361
采纳率:0%
帮助的人:241万
展开全部
二楼顶一个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式