关于温湿度SHT20传感器,用普通GPIO口来模拟IIC实现驱动

/******************************************************************************
*-----------------SHT_PROTOCOL_H.h文件-----------------------------------
*******************************************************************************
* 对SHT20温湿度传感器进行采集,头文件说明
---------------------------------------------------------------------------------------------------
*******************************************************************************/


#ifndef __SHT_PROTOCOL_H__

#define __SHT_PTOTOCOL_H__

/*******************************************************************************
================================数据部分=================
*******************************************************************************/

//定义了温度传感器SHT20的scl和sda口
#define sht_scl_pin            0//GPIO口
#define sht_sda_pin            1//gpio口

//读写指令
#define   READ    0x81
#define   WRITE   0x80  

#define  HOLD_AT_START  0xe3  //触发温度测量
#define  HOLD_AH_START  0xe5  //触发湿度测量
#define  NO_HOLD_AT_START  0xf3 //触发温度测量
#define  NO_HOLD_AH_START  0xf5 //触发湿度测量
#define  WRITE_REG      0xe6    //写寄存器
#define  READ_REG       0xe7    //读寄存器
#define  REST           0xfe    //软件复位





/*****************************************************************************
=================================函数部分=================================
*****************************************************************************/


/*****************************************************************************
*    function:
*        void SHT_set_scl_state(int flag)
*    description:
*        设置SCL口的输出状态
*    param:
*        int flag :  0 : 输出为0
*                1 : 输出为1
*    return:    
*        void
*****************************************************************************/
void SHT_set_scl_state(int flag);

/*****************************************************************************
*    function:
*        int SHT_get_sda_state(void);
*    description:
*        读取SDA口的状态值
*    param:
*        void
*    return:    
*        int : IO的状态
*****************************************************************************/
int SHT_get_sda_state(void);


/*****************************************************************************
*    function:
*        void vkelD1_SHT_set_sda_state(int flag)
*    description:
*        设置SDA口的输出状态
*    param:
*        int flag :  0 : 输出为0
*                1 : 输出为1
*    return:    
*        void
*****************************************************************************/
void SHT_set_sda_state(int flag);


/*****************************************************************************
*    function:
*        void SHT_set_sda_dir(int flag)
*    description:
*        设置SDA口是输入还是输出状态
*    param:
*        int flag :  0 : 输入
*                1 : 输出
*    return:    
*        void
*****************************************************************************/
void SHT_set_sda_dir(int flag);

/*****************************************************************************
*    function:
*        void SHT_set_scl_dir(int flag)
*    description:
*        设置SCL口是输入还是输出状态
*    param:
*        int flag :  0 : 输入
*                1 : 输出
*    return:    
*        void
*****************************************************************************/
void SHT_set_scl_dir(int flag);

/*****************************************************************************
*    function:
*        void SHT_iic_start()
*    description:
*        启动IIC
*    param:
*        void
*    return:    
*        void
*****************************************************************************/
void SHT_iic_start();

/*********************************************
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值