资源简介
STM32F103读SHT31温湿度传感器代码,实测可用,采用MDK5.4编译器
代码片段和文件信息
//=============================================================================
// S E N S I R I O N AG Laubisruetistr. 50 CH-8712 Staefa Switzerland
//=============================================================================
// Project : SHT3x Sample Code (V1.1)
// File : i2c_hal.c (V1.1)
// Author : RFU
// Date : 6-Mai-2015
// Controller: STM32F100RB
// IDE : 礦ision V5.12.0.0
// Compiler : Armcc
// Brief : I2C hardware abstraction layer
//=============================================================================
//-- Includes -----------------------------------------------------------------
#include “i2c_hal.h“
//-- Defines ------------------------------------------------------------------
// I2C IO-Pins /* -- adapt the defines for your uC -- */
// SDA on port B bit 7
#define SDA_LOW() (GPIOB->BSRR = 0x00800000) // set SDA to low
#define SDA_OPEN() (GPIOB->BSRR = 0x00000080) // set SDA to open-drain
#define SDA_READ (GPIOB->IDR & 0x0080) // read SDA
// SCL on port B bit 6 /* -- adapt the defines for your uC -- */
#define SCL_LOW() (GPIOB->BSRR = 0x00400000) // set SCL to low
#define SCL_OPEN() (GPIOB->BSRR = 0x00000040) // set SCL to open-drain
#define SCL_READ (GPIOB->IDR & 0x0040) // read SCL
//-- Static function prototypes -----------------------------------------------
static etError I2c_WaitWhileClockStreching(u8t timeout);
//-----------------------------------------------------------------------------
void I2c_Init(void) /* -- adapt the init for your uC -- */
{
RCC->APB2ENR |= 0x00000008; // I/O port B clock enabled
SDA_OPEN(); // I2C-bus idle mode SDA released
SCL_OPEN(); // I2C-bus idle mode SCL released
// SDA on port B bit 14
// SCL on port B bit 13
GPIOB->CRL&=0X00FFFFFF; //PB6/7 推挽输出
GPIOB->CRL|=0X55000000;
}
//-----------------------------------------------------------------------------
void I2c_StartCondition(void)
{
SDA_OPEN();
DelayMicroSeconds(1);
SCL_OPEN();
DelayMicroSeconds(1);
SDA_LOW();
DelayMicroSeconds(10); // hold time start condition (t_HD;STA)
SCL_LOW();
DelayMicroSeconds(10);
}
//-----------------------------------------------------------------------------
void I2c_StopCondition(void)
{
SCL_LOW();
DelayMicroSeconds(1);
SDA_LOW();
DelayMicroSeconds(1);
SCL_OPEN();
DelayMicroSeconds(10); // set-up time stop condition (t_SU;STO)
SDA_OPEN();
DelayMicroSeconds(10);
}
//-----------------------------------------------------------------------------
etError I2c_WriteByte(u8t txByte)
{
etError error = NO_ERROR;
u8t mask;
for(mask = 0x80; mask > 0; mask >>= 1)// shift bit for masking (8 times)
{
if((mask & txByte) == 0) SDA_LOW(); // masking txByte write bit to SDA-Line
else SDA_OPEN();
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2047 2017-11-23 15:41 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\DebugConfig\STM32-Discovery_STM32F100RB_1.0.0.dbgconf
文件 339 2019-02-20 11:47 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\EventRecorderStub.scvd
文件 241595 2019-02-19 15:19 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\i2c_hal.crf
文件 650 2019-02-19 15:19 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\i2c_hal.d
文件 259232 2019-02-19 15:19 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\i2c_hal.o
文件 245349 2019-02-20 11:51 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\Jli
文件 755 2019-02-19 17:10 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\Jli
文件 245993 2019-02-20 11:46 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\main.crf
文件 640 2019-02-20 11:46 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\main.d
文件 261212 2019-02-20 11:46 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\main.o
文件 241 2015-05-07 22:24 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\Readme.txt
文件 363 2019-02-19 15:07 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\RTE\_STM32-Discovery\RTE_Components.h
文件 252776 2019-02-19 17:12 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\sht3x.crf
文件 653 2019-02-19 17:12 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\sht3x.d
文件 276188 2019-02-19 17:12 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\sht3x.o
文件 44048 2019-02-20 11:46 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\SHT3x_SampleCode.axf
文件 1761 2019-02-20 11:47 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\SHT3x_SampleCode.build_log.htm
文件 68264 2019-02-20 11:46 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\SHT3x_SampleCode.htm
文件 334 2019-02-20 11:46 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\SHT3x_SampleCode.lnp
文件 69450 2019-02-20 11:46 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\SHT3x_SampleCode.map
文件 479 2019-02-19 15:07 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\SHT3x_SampleCode.sct
....... 169185 2019-02-19 18:03 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\SHT3x_SampleCode.uvguix.victor
文件 9776 2015-05-07 22:24 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\SHT3x_SampleCode.uvopt
....... 9362 2019-02-19 18:03 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\SHT3x_SampleCode.uvoptx
文件 16124 2015-05-07 22:24 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\SHT3x_SampleCode.uvproj.saved_uv4
....... 15250 2019-02-19 17:12 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\SHT3x_SampleCode.uvprojx
文件 4526 2019-02-20 11:47 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\SHT3x_SampleCode_STM32-Discovery.dep
文件 13466 2015-05-07 22:24 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\SHT3x_Samplecode_Structure.pdf
文件 5661 2019-02-19 15:19 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\Source\i2c_hal.c
文件 2922 2015-05-07 22:24 Sensirion_Humidity_Sensors_SHT3x_Sample_Code\Source\i2c_hal.h
............此处省略21个文件信息
- 上一篇:音乐彩灯的设计与实现汇编语言
- 下一篇:Ex_DirectUI主题包生成器
评论
共有 条评论