资源简介
基于STM32F207的HDC1080的模拟I2C驱动程序,可以实现HDC1080的温湿度读取,注释清楚,完美运行。
代码片段和文件信息
/**************************************************************************//**
* @file HDC1080.c
* @version V3.00
* $Revision: 2 $
* $Date: 18/08/17 10:22a $
* @brief
* Show a Master how to access Slave.
* This sample code needs to work with I2C_Slave.
* @note
* Copyright (C) 2018 CHN Spec Technology Corp. All rights reserved.
*
******************************************************************************/
#include “main.h“
/*---------------------------------------------------------------------------------------------------------*/
/* Global variables */
/*---------------------------------------------------------------------------------------------------------*/
#define HDC1080_I2C_ADDR 0x80 //0x40 << 1
#define Temperature 0x00 //0x0000 Temperature measurement output
#define Humidity 0x01 //0x0000 Relative Humidity measurement output
#define Configuration 0x02 //0x1000 HDC1080 configuration and status
#define Manufacturer_ID 0xFE //0x5449 ID of Texas Instruments
#define Device_ID 0xFF //0x1050 ID of the device
#define Manufacturer_ID_value 0x5449
#define Device_ID_value 0x1050
#define Configuration_1 0x1000 //温湿度14位精度,温湿度一个命令同时输出,先输出温度,在输出湿度,关闭内部加热,自动复位
#define Configuration_2 0x3000 //温湿度14位精度,温湿度一个命令同时输出,先输出温度,在输出湿度,开启内部加热,自动复位
#define HDC_I2C_SCL_H GPIO_SetBits(GPIOBGPIO_Pin_10)
#define HDC_I2C_SCL_L GPIO_ResetBits(GPIOBGPIO_Pin_10)
#define HDC_I2C_SDA_H GPIO_SetBits(GPIOBGPIO_Pin_11)
#define HDC_I2C_SDA_L GPIO_ResetBits(GPIOBGPIO_Pin_11)
float HDC_TEMPHDC_RH; //HDC1080的温度和湿度
/*******************************************************************************
* Function Name : HDC1080_I2C_Init
* Description : 初始化HDC1080的模拟I2C接口
* Input : None
* Output : None
* Return : None
*******************************************************************************/
void HDC1080_I2C_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_AHB1Periph_GPIOB ENABLE); //PB 时钟使能
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10|GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT; //设置GPIO模式 输出模式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置输出频率
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽输出
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; //上拉
GPIO_Init(GPIOB &GPIO_InitStructure); //初始化 GPIO
GPIO_SetBits(GPIOBGPIO_Pin_10|GPIO_Pin_11); //PB10PB11 输出高 SDA,SCL初始化高电平
}
void I2C_SDA_OUT(void) //设置SDA为输出
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽输出
GPIO_InitStructure.GPIO_PuPd =
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 13660 2018-08-27 20:44 HDC1080.c
----------- --------- ---------- ----- ----
13660 1
相关资源
- STM32F207学习板例程
- DHT10_I2C驱动.zip
- I2C串行EEPROM应用系统的健壮性设计
- 电子-GravityI2C3.7V锂电池电量计stm32L1
- arduino主机,stm8从机。I2C测试 。每次
- 10位ADC转换器AD5612(stm32_IO口模拟I2C)
- (带有源代码)基于FPGA的模拟I2C接口
- I2C-verilog-(非常详细的i2c学习心得)
- stm32f103iic读取AT24XX全系eeprom
- 分享一个0.96的oled显示驱动,软件模拟
- hdc1080.pdf
- DAC8571_I2C模式_STM32
- STM32F4 I2C从机中断
- ADS1110stm32驱动自带I2C驱动
- STM32F103C8 例程
- stm32 I2C主从机模式控制代码
- 基于STM32F103硬件I2C读写24Cxx驱动代码的
- STM32F207VC lwip ucosiii移植工程
- Ginkgo_USB-I2C_Classic_Setup_v2.9.2.zip
- I2C从设备接收数据verilog代码实现
- CH341-I2C-labview-应用说明+VI-所有版本都
- Delphi2CPP 和注册机
- STM32_MPU6050DMP硬件I2C读取欧拉角
- 基于FPGA的EEPROM读写系统
- 用stm32硬件I2C和模拟I2C读写EEPROM
- 利用STM32硬件I2C使用加速度传感器AD
- STM32与HTU21的I2C通讯源码
- stm32f207 ADC测试程序
- STM32F207ADC1_DMA完整工程及其详解
- stm32f103硬件I2C主从通信
评论
共有 条评论