資源簡介
SHT20溫濕度傳感器程序(使用GPIO口模擬I2C),包含頭文件與c文件,內(nèi)含中文技術(shù)手冊!!

代碼片段和文件信息
/**?
?*?@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();
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????10264??2015-08-19?11:08??SHT2x.c
?????文件???????3065??2015-08-18?17:57??SHT2x.h
?????文件?????482899??2013-08-05?12:15??SHT20?中文技術(shù)手冊.pdf
-----------?---------??----------?-----??----
???????????????496228????????????????????3
評論
共有 條評論