久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1719|回復(fù): 0
收起左側(cè)

GD60933數(shù)字紅外溫度儀程序

[復(fù)制鏈接]
ID:830387 發(fā)表于 2024-8-29 08:54 | 顯示全部樓層 |閱讀模式
GD60933數(shù)字紅外溫度儀使用說(shuō)明,這是谷德科技出品的器件以下是驅(qū)動(dòng)代碼,供參考。

#define speedcommu                        300

uint16_t m,Command[4],tempReadv[4] ;

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void I2cA_start()
{
    for(m=0;m<speedcommu;m++)HAL_GPIO_WritePin(A_SDA_GPIO_Port,A_SDA_Pin,GPIO_PIN_SET);
    for(m=0;m<speedcommu;m++)HAL_GPIO_WritePin(A_SCL_GPIO_Port,A_SCL_Pin,GPIO_PIN_SET);
    for(m=0;m<speedcommu;m++)HAL_GPIO_WritePin(A_SDA_GPIO_Port,A_SDA_Pin,GPIO_PIN_RESET);
    for(m=0;m<speedcommu;m++)HAL_GPIO_WritePin(A_SCL_GPIO_Port,A_SCL_Pin,GPIO_PIN_RESET);
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void I2cA_stop()
{
    for(m=0;m<speedcommu;m++)HAL_GPIO_WritePin(A_SDA_GPIO_Port,A_SDA_Pin,GPIO_PIN_RESET);
    for(m=0;m<speedcommu;m++)HAL_GPIO_WritePin(A_SCL_GPIO_Port,A_SCL_Pin,GPIO_PIN_SET);   
    for(m=0;m<speedcommu;m++)HAL_GPIO_WritePin(A_SDA_GPIO_Port,A_SDA_Pin,GPIO_PIN_SET);
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void I2cA_sendAck(uint8_t ack)
{
    if(ack==0)
    {
        for(m=0;m<speedcommu;m++)HAL_GPIO_WritePin(A_SDA_GPIO_Port,A_SDA_Pin,GPIO_PIN_RESET);
    }
    else
    {
        for(m=0;m<speedcommu;m++)HAL_GPIO_WritePin(A_SDA_GPIO_Port,A_SDA_Pin,GPIO_PIN_SET);
    }
    for(m=0;m<speedcommu;m++)HAL_GPIO_WritePin(A_SCL_GPIO_Port,A_SCL_Pin,GPIO_PIN_SET);
    for(m=0;m<speedcommu;m++)HAL_GPIO_WritePin(A_SCL_GPIO_Port,A_SCL_Pin,GPIO_PIN_RESET);
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
uint8_t I2cA_getAck(void)
{
  uint8_t ack;     
    for(m=0;m<speedcommu;m++)HAL_GPIO_WritePin(A_SDA_GPIO_Port,A_SDA_Pin,GPIO_PIN_SET);
    for(m=0;m<speedcommu;m++)HAL_GPIO_WritePin(A_SCL_GPIO_Port,A_SCL_Pin,GPIO_PIN_SET);
    if(HAL_GPIO_ReadPin(A_SDA_GPIO_Port,A_SDA_Pin)==GPIO_PIN_SET)ack=1;else ack=0;
    for(m=0;m<speedcommu;m++)HAL_GPIO_WritePin(A_SCL_GPIO_Port,A_SCL_Pin,GPIO_PIN_RESET);
  return ack;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
uint8_t I2cA_read()
{
  uint8_t i,dat=0;
    for(m=0;m<speedcommu;m++)HAL_GPIO_WritePin(A_SDA_GPIO_Port,A_SDA_Pin,GPIO_PIN_SET);
  for(i=0;i<8;i++)
    {
        for(m=0;m<speedcommu;m++)HAL_GPIO_WritePin(A_SCL_GPIO_Port,A_SCL_Pin,GPIO_PIN_SET);
        dat<<=1;
        if(HAL_GPIO_ReadPin(A_SDA_GPIO_Port,A_SDA_Pin)==GPIO_PIN_SET)dat|=0x01;else dat&=0xFE;
        for(m=0;m<speedcommu;m++)HAL_GPIO_WritePin(A_SCL_GPIO_Port,A_SCL_Pin,GPIO_PIN_RESET);
    }
    return dat;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void I2cA_write(uint8_t dat)
{
  uint8_t i;
  for(i=0;i<8;i++)
  {
        if((dat&0x80)==0x80)
        {
            for(m=0;m<speedcommu;m++)HAL_GPIO_WritePin(A_SDA_GPIO_Port,A_SDA_Pin,GPIO_PIN_SET);
        }
        else
        {
            for(m=0;m<speedcommu;m++)HAL_GPIO_WritePin(A_SDA_GPIO_Port,A_SDA_Pin,GPIO_PIN_RESET);
        }
        dat<<=1;
        for(m=0;m<speedcommu;m++)HAL_GPIO_WritePin(A_SCL_GPIO_Port,A_SCL_Pin,GPIO_PIN_SET);        
        for(m=0;m<speedcommu;m++)HAL_GPIO_WritePin(A_SCL_GPIO_Port,A_SCL_Pin,GPIO_PIN_RESET);
  }
  I2cA_getAck();
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
uint16_t I2cA_fromDevice(uint8_t deviceAdd,uint8_t datAdd)
{
    uint8_t dat;uint16_t temp;
    I2cA_start();
    I2cA_write(deviceAdd);
    I2cA_write(datAdd);
    I2cA_start();
    I2cA_write(deviceAdd+1);
    dat=I2cA_read();
    I2cA_sendAck(0);//1
    temp=I2cA_read();
    I2cA_sendAck(1);//0
    temp<<=8;
    temp+=dat;
    I2cA_stop();
    return temp;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
uint16_t CollectionTempA(void)
{
    if(Command[0]==0x55AA)tempReadv[0]=I2cA_fromDevice(0x30,0x1C);        //Read temperature
    Command[0]=I2cA_fromDevice(0x30,0x1F);//0x1F);                //0x55AA
    return tempReadv[0];
}


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: aaa大片免费观看 | 精品国产青草久久久久福利 | 欧美激情一区二区 | 成人九区 | 欧美日日日日bbbbb视频 | 91九色婷婷 | 精品毛片| 国产一区二区三区日韩 | 午夜影院在线播放 | 天天操操 | 久久亚洲国产精品日日av夜夜 | 久久精品国产99国产精品 | 中文字幕一区在线观看视频 | 天天色天天色 | 青青久久 | 欧美一区二区三区久久精品 | 午夜精品| 国产免费拔擦拔擦8x高清 | 国产午夜久久 | 婷婷久久久久 | 日韩高清国产一区在线 | 成人精品国产免费网站 | 久草精品在线 | 亚洲激情在线视频 | 黄色毛片视频 | 国产亚洲成av人片在线观看桃 | 免费观看毛片 | 欧州一区| 色婷婷一区二区三区四区 | 超碰人人人 | 天天操天天插 | 精品成人一区 | 色www精品视频在线观看 | 999久久久国产精品 欧美成人h版在线观看 | 欧美激情在线精品一区二区三区 | 国产91在线 | 中日 | 欧美日韩精品久久久免费观看 | 草草草草视频 | 看片wwwwwwwwwww| 国产高清视频在线 | 久久国产精品免费一区二区三区 |