IIC配置

本实验基于野火开发板stm32f407及stm32cubemx、keil环境实现。

配置

使用硬件IIC,使能IIC引脚,配置IIC模式、时钟速度、位数等。

生成代码后,可以在stm32f4xx_hal.c中查看IIC的相关函数。

本实验使用SHT20采集温湿度数据,数据手册部分内容如下:

#define BufSize 4

uint8_t DataBuf[BufSize];
float temp,humi;
SHT20 Sht20; //结构体存放温湿度两个参数

void SHT20_RD(void)
{
	HAL_I2C_Mem_Read(&hi2c1,0x81,0xE3,I2C_MEMADD_SIZE_8BIT,DataBuf,2,0xFFFF);
	HAL_I2C_Mem_Read(&hi2c1,0x81,0xE5,I2C_MEMADD_SIZE_8BIT,&DataBuf[2],2,0xFFFF);
	temp = ((uint16_t)DataBuf[0]<<8)+(DataBuf[1]&0xfe);
	humi = ((uint16_t)DataBuf[2]<<8)+(DataBuf[3]&0xfc);
	Sht20.temp = temp * 175.72 / 65536 - 46.85;
	Sht20.humi = humi * 125.00 / 65536 - 6.0000f;
	printf("TEMP=%.2f  Humidity=%.2f\r\n",Sht20.temp,Sht20.humi);
	delay_us(30);
}

模拟IIC可以参照之前写的内容进行实验

stm32f4 rt-thread studio IO模拟IIC_stm32f4模拟iic-CSDN博客

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值