weixin_46019983 2022-03-16 16:26 采纳率: 33.3%
浏览 42

stm32单片机代码实现功能的问题

帮忙注释一下代码,有点看不明白。

```
uint32 ReadSHT1(uint8 Add)

{

uint32 IResult;

while(1){
SHT1_Start();
SHT1_WriteCommandData(Add);
if(SHT1_Ready()!=0){
SHT1_Reset;
continue;
}
}
else{
SHT1_SendAck();
break;
}
}

void SHT1_WriteCommandData(uint8 bCommand)
{
uint8 i;
Delay();
SHT1SCK_LOW;
Delay();
for(i=0;i<8;i++){
if(bCommand&(0x1<<(7-i)))
SHT1DATA_HIGH;
else
SHT1DATA_Low;
Delay();
SHT1DATA_HIGH;
Delay();
SHT1DATA_Low;
}
P1DIR&=~(1<<1);
}```

  • 写回答

1条回答 默认 最新

  • 关注

    uint32 ReadSHT1(uint8 Add) //读SHT1数据

    {

    uint32 IResult;

    while(1){
    SHT1_Start(); //开启
    SHT1_WriteCommandData(Add); //写设备地址
    if(SHT1_Ready()!=0){ //处理中。。。。
    SHT1_Reset;
    continue; //继续
    }
    }
    else{
    SHT1_SendAck(); //等待响应
    break;
    }
    }

    void SHT1_WriteCommandData(uint8 bCommand) //向SHT1写入数据
    {
    uint8 i;
    Delay(); //延时
    SHT1SCK_LOW; //准备开始
    Delay(); //延时
    for(i=0;i<8;i++){ //八位数据依次写入
    if(bCommand&(0x1<<(7-i)))
    SHT1DATA_HIGH; //数据置为高
    else
    SHT1DATA_Low; //数据置为低
    Delay(); //延时
    SHT1DATA_HIGH; //数据置为高
    Delay(); //延时
    SHT1DATA_Low; //数据置为低
    }
    P1DIR&=~(1<<1);
    }```

    评论

报告相同问题?

问题事件

  • 修改了问题 3月16日
  • 创建了问题 3月16日