资源简介
SHT20温湿度传感器程序(使用GPIO口模拟I2C),包含头文件与c文件,内含中文技术手册!!

代码片段和文件信息
/**
* @file SHT2x.c
* @brief 温湿度传感器
* @details
* @author 华兄
* @email 591881218@qq.com
* @date 2015
* @version vX.XX
* @par Copyright (c):
* 华兄电子
* @par History:
* version: author date desc\n
*/
#include “includes.h“
SHT2x_PARAM g_sht2x_param;
void SHT2x_Delay(u32 n)
{
u8 i;
while(n--)
{
for(i = 0; i < 100; i++)
{
asm(“NOP“);
}
}
}
void SHT2x_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = SHT2x_SCL_PIN | SHT2x_SDA_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(SHT2x_I2C_PORT &GPIO_InitStructure);
SHT2x_SCL_HIGH();
SHT2x_SDA_HIGH();
SHT2x_Delay(80);
SHT2x_SoftReset();
}
void SHT2x_SCL_OUTPUT(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = SHT2x_SCL_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(SHT2x_I2C_PORT &GPIO_InitStructure);
}
void SHT2x_SCL_INPUT(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = SHT2x_SCL_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(SHT2x_I2C_PORT &GPIO_InitStructure);
}
void SHT2x_SDA_OUTPUT(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = SHT2x_SDA_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(SHT2x_I2C_PORT &GPIO_InitStructure);
}
void SHT2x_SDA_INPUT(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = SHT2x_SDA_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(SHT2x_I2C_PORT &GPIO_InitStructure);
}
void SHT2x_I2cStartCondition(void)
{
SHT2x_SCL_OUTPUT();
SHT2x_SDA_OUTPUT();
SHT2x_SDA_HIGH();
SHT2x_SCL_HIGH();
SHT2x_SDA_LOW();
SHT2x_Delay(30);
SHT2x_SCL_LOW();
SHT2x_Delay(30);
}
void SHT2x_I2cStopCondition(void)
{
SHT2x_SCL_OUTPUT();
SHT2x_SDA_OUTPUT();
SHT2x_SDA_LOW();
SHT2x_SCL_LOW();
SHT2x_SCL_HIGH();
SHT2x_Delay(30);
SHT2x_SDA_HIGH();
SHT2x_Delay(30);
}
void SHT2x_I2cAcknowledge(void)
{
SHT2x_SCL_OUTPUT();
SHT2x_SDA_OUTPUT();
SHT2x_SDA_LOW();
SHT2x_SCL_HIGH();
SHT2x_Delay(80);
SHT2x_SCL_LOW();
SHT2x_Delay(80);
}
void SHT2x_I2cNoAcknowledge(void)
{
SHT2x_SCL_OUTPUT();
SHT2x_SDA_OUTPUT();
SHT2x_SDA_HIGH();
SHT2x_SCL_HIGH();
SHT2x_Delay(80);
SHT2x_SCL_LOW();
SHT2x_Delay(80);
}
u8 SHT2x_I2cReadByte(void)
{
u8 i val = 0;
SHT2x_SCL_OUTPUT();
SHT2x_SDA_OUTPUT();
SHT2x_SDA_HIGH();
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10264 2015-08-19 11:08 SHT2x.c
文件 3065 2015-08-18 17:57 SHT2x.h
文件 482899 2013-08-05 12:15 SHT20 中文技术手册.pdf
----------- --------- ---------- ----- ----
496228 3
相关资源
- STM32F103RC+ADC+DMA多通道采样LCD显示
- I2C读写AT24C02 基于STM32F103 cube116540
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- STM32基于rt_thread操作系统的SDHC卡文件
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- STM32F103 CC2500完整驱动(模拟SPI)
- AD7606采集程序
- stm32 用SPI 方式读写 SDHC
- stm32通过DMA方式采集ADC数据
- 意法半导体STM全系列微控制器STM32ST
- 基于STM32芯片的SX1278 驱动 LORA.rar
评论
共有 条评论