STM32F030读取温湿度传感器SHT20的C程序源码经.docx

上传人:b****1 文档编号:2375251 上传时间:2022-10-29 格式:DOCX 页数:13 大小:16.94KB
下载 相关 举报
STM32F030读取温湿度传感器SHT20的C程序源码经.docx_第1页
第1页 / 共13页
STM32F030读取温湿度传感器SHT20的C程序源码经.docx_第2页
第2页 / 共13页
STM32F030读取温湿度传感器SHT20的C程序源码经.docx_第3页
第3页 / 共13页
STM32F030读取温湿度传感器SHT20的C程序源码经.docx_第4页
第4页 / 共13页
STM32F030读取温湿度传感器SHT20的C程序源码经.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

STM32F030读取温湿度传感器SHT20的C程序源码经.docx

《STM32F030读取温湿度传感器SHT20的C程序源码经.docx》由会员分享,可在线阅读,更多相关《STM32F030读取温湿度传感器SHT20的C程序源码经.docx(13页珍藏版)》请在冰豆网上搜索。

STM32F030读取温湿度传感器SHT20的C程序源码经.docx

STM32F030读取温湿度传感器SHT20的C程序源码经

*******************************************************************************@fileHTU20.x

*@briefHTU20function

*@cpuSTM32F051

*@compilerKeiluVisionV5.01

*@authorHanney

*@copyright

*@versionV1.0.1

*@date18-Sept-2015

*@modifydate20-Sept-2015

*******************************************************************************@attention

*/

//STM32F051模拟IIC

//#include"boardAPI.h"

//#include"stm32f0xx.h"

//#include"HTU20.h"

//#include"uart.h"

//#include"delay.h"

#include"stm32f0xx.h"

#include"stm32lib.h"

#defineHTU20_CLKRCC_AHBPeriph_GPIOB

#defineHTU20_SDA_PORTGPIOB

#defineHTU20_SCL_PORTGPIOB

#defineHTU20_SDA_PINGPIO_Pin_11

#defineHTU20_SCL_PINGPIO_Pin_10

#defineRESOLUTION_11b0x81//RH11TH11

#defineRESOLUTION_12b0x01//RH8TH12

#defineRESOLUTION_13b0x80//RH10TH13

#defineRESOLUTION_14b0x00//RH12TH14

#defineOTP_disEN0x02//不能启动OPT加载

#defineOTP_EN0x00//启动OPT加载

#defineRESh16//湿度解析度

#defineRESt16//温度解析度

#defineMeasureDelay12//解析延时时间单位ms

typedefunsignedcharBYTE;

typedefunsignedintWORD;

BYTEDelayms;

GPIO_InitTypeDefGPIO_InitStructure;

voiddelayms(BYTEms;

/**

*@briefStartHTUGPIOportCLK

*@retvalNone

*/

voidHTUInit(void

{

RCC_AHBPeriphClockCmd(HTU20_CLK,ENABLE;

}

/*================================================================

IICaddress

================================================================*/#defineSHT20ADDR0x80

/*================================================================ACKandNACKdefination

================================================================*/#defineACK0

#defineNACK1

/*================================================================

HTU20DCommandCode

================================================================*//*

CommandCodeCommentTriggerTemperatureMeasurement0xe3HoldmasterTriggerHumidityMeasurement0xe5HoldmasterTriggerTemperatureMeasuremeng0xf3NoHoldmasterTriggerHumidityMeasurement0xf5NoHoldmasterWriteuserregister0xe6

Readuserregister0xe7

SoftReset0xfe

*/

#defineSOFT_RESET0xfe

#defineREAD_REGISTER0xe7

#defineWRITE_REGISTER0xe6

#defineTRIGGER_TEMP0xf3

#defineTRIGGER_HUMI0xf5

/*================================================================

HTU20operateinterface

================================================================*/

#defineHTU20_SCLGPIO_ReadInputDataBit(HTU20_SCL_PORT,HTU20_SCL_PIN#defineHTU20_SDAGPIO_ReadInputDataBit(HTU20_SDA_PORT,HTU20_SDA_PIN

/**

*@briefSetSDApindircateasoutput

*@retvalNone

*/

voidHTU20_SDA_OUT(

{

GPIO_StructInit(&GPIO_InitStructure;

GPIO_InitStructure.GPIO_Pin=HTU20_SDA_PIN;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT;

GPIO_InitStructure.GPIO_OType=GPIO_OType_OD;

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_Level_2;

GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;

GPIO_Init(HTU20_SDA_PORT,&GPIO_InitStructure;

}

/**

*@briefSetSDApindircateasintput

*@retvalNone

*/

voidHTU20_SDA_IN(

{

GPIO_StructInit(&GPIO_InitStructure;

GPIO_InitStructure.GPIO_Pin=HTU20_SDA_PIN;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN;

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_Level_2;

GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;

GPIO_Init(HTU20_SDA_PORT,&GPIO_InitStructure;

}

/**

*@briefSetSDApinashigh

*@retvalNone

*/

voidHTU20_SDA_1(

{

GPIO_SetBits(HTU20_SDA_PORT,HTU20_SDA_PIN;

}

/**

*@briefSetSDApinaslow

*@retvalNone

*/

voidHTU20_SDA_0(

{

GPIO_ResetBits(HTU20_SDA_PORT,HTU20_SDA_PIN;}

/**

*@briefSetSCLpindircateasoutput

*@retvalNone

*/

voidHTU20_SCL_OUT(

{

GPIO_StructInit(&GPIO_InitStructure;

GPIO_InitStructure.GPIO_Pin=HTU20_SCL_PIN;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT;GPIO_InitStructure.GPIO_OType=GPIO_OType_OD;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_Level_2;GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;GPIO_Init(HTU20_SCL_PORT,&GPIO_InitStructure;

}

/**

*@briefSetSCLpinashigh

*@retvalNone

*/

voidHTU20_SCL_1(

{

GPIO_SetBits(HTU20_SCL_PORT,HTU20_SCL_PIN;

}

/**

*@briefSetSCLpinaslow

*@retvalNone

*/

voidHTU20_SCL_0(

{

GPIO_ResetBits(HTU20_SCL_PORT,HTU20_SCL_PIN;

}

/*================================================================

SimulationI2CFunction

================================================================*/

/**

*@briefAshortdelayforiicsynchronization

*@paramtus

*@retvalNone

*/

voidI2CDelay(BYTEt

{

while(t--

{

__nop(;__nop(;__nop(;__nop(;__nop(;

__nop(;__nop(;__nop(;__nop(;__nop(;

__nop(;__nop(;__nop(;__nop(;__nop(;

__nop(;__nop(;__nop(;__nop(;__nop(;

__nop(;__nop(;__nop(;__nop(;__nop(;

__nop(;__nop(;__nop(;__nop(;__nop(;

__nop(;__nop(;__nop(;__nop(;__nop(;

}

}

/**

*@briefI2Cinit

*@retvalNone

*/

voidI2CInit(void

{

HTUInit(;

HTU20_SDA_OUT(;

HTU20_SCL_OUT(;

HTU20_SDA_1(;

I2CDelay(1;

HTU20_SCL

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1