调试SHT30温湿度传感器模块,外码工程使用

调试SHT30代码,工程使用

本文主要目标是学习IIC协议及传感器模块,旨在传到STM32单片机优化代码,亲测可用

一、环境搭建,

1、野火开发板
2、JLINK下载器(腾创电子家的,不得不说这个下载器是真的好用,店主推荐购买企业版就买了,把链接发出来,方便大家,JLINK店家地址

二、首先搭建好iic驱动代码
三、编辑好SHT30初始化代码
四、写好SHT30读写温湿度代码

SHT30读取温度值有两种模式,1、状态查询模式2、数值查询模式,本文采用数值查询模式
iic.h

#define	EEPROM_I2C_WR  0	/* 写控制bit */
#define	EEPROM_I2C_RD  1	/* 读控制bit */

/* 定义IIC总线连接GPIO端口,用户只需要修改下面4行代码即可任意改变SCL和SDA的引脚 */
#define	EEPROM_GPIO_PORT		GPIOB					/* GPIO端口 */
#define	EEPROM_RCC_PORT			RCC_APB2Periph_GPIOB	/* GPIO端口时钟 */
#define EEPROM_I2C_SCL_PIN		GPIO_Pin_6				/* 连接SCL时钟线引脚 */
#define EEPROM_I2C_SDA_PIN		GPIO_Pin_7				/* 连接SDA时钟线引脚 */


/* 定义读写SCL和SDA的宏,已增加的代码可移植性和可阅读性 */
#if 0 /*条件编译  1选择GPIO的库函数实现IO读写 */
#define EEPROM_I2C_SCL_1()		GPIO_SetBits(EEPROM_GPIO_PORT,EEPROM_I2C_SCL_PIN)
#define EEPROM_I2C_SCL_0()		GPIO_ResetBits(EEPROM_GPIO_PORT,EEPROM_I2C_SCL_PIN)

#define EEPROM_I2C_SDA_1()		GPIO_SetBits(EEPROM_GPIO_PORT,EEPROM_I2C_SDA_PIN)
#define EEPROM_I2C_SDA_0()		GPIO_ResetBits(EEPROM_GPIO_PORT,EEPROM_I2C_SDA_PIN)

#define EEPROM_I2C_SDA_READ()	GPIO_ReadInputDataBit(EEPROM_GPIO_PORT,EEPROM_I2C_SDA_PIN)

#else 	/* 这个分支选择直接寄存器实现IO读写 */
		/* 注意:如下写法:在IAR最高级优化时,会被编译器错误优化 */
#define EEPROM_I2C_SCL_1()		GPIO_SetBits(EEPROM_GPIO_PORT,EEPROM_I2C_SCL_PIN)
#define 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值