[活动专区] 【N32G430开发板试用】SHT30温湿度传感器硬件iic读取

[复制链接]
4523|39
 楼主| wode2008 发表于 2022-8-7 23:30 | 显示全部楼层 |阅读模式
@安小芯 论坛给了个评测N32G430开发板的机会,正好手上有高精度的SHT30温湿度传感器,IIc接口的传感器,想起来用下N32G430的硬件iic操作一下。硬件连接方式,我用的i2c1,PB6和Pb7引脚。
QQ图片20220807232446.jpg QQ图片20220807232440.jpg
配置时钟gpio时钟,和i2c1的时钟。
    RCC_APB1_Peripheral_Clock_Enable(RCC_APB1_PERIPH_I2C1);
    RCC_AHB_Peripheral_Clock_Enable(RCC_AHB_PERIPH_GPIOB);
我们首先要配置i2c1的gpio口,   
    GPIO_Structure_Initialize(&i2c1_gpio);     //sht30    /*PB6 -- SCL; PB7 -- SDA*/
    i2c1_gpio.Pin            = I2Cx_SCL_PIN | I2Cx_SDA_PIN;
    i2c1_gpio.GPIO_Slew_Rate = GPIO_SLEW_RATE_FAST;
    i2c1_gpio.GPIO_Mode      = GPIO_MODE_AF_OD;
    i2c1_gpio.GPIO_Alternate = GPIO_AF_I2C;
    i2c1_gpio.GPIO_Pull      = GPIO_PULL_UP;
    GPIO_Peripheral_Initialize(GPIOx, &i2c1_gpio);

   其次,要配置i2c1的具体参数
    I2C_Initializes_Structure(&i2c1_master);
    i2c1_master.BusMode     = I2C_BUSMODE_I2C;
    i2c1_master.DutyCycle   = I2C_SMDUTYCYCLE_1;
    i2c1_master.OwnAddr1    = 0x44;     // sht30 addr
    i2c1_master.AckEnable   = I2C_ACKEN;
    i2c1_master.AddrMode    = I2C_ADDR_MODE_7BIT;
    i2c1_master.ClkSpeed    = CLK_SPEED_400K;

   我们设置主模式,速率400Kbps,sht30的iic物理地址0x44,这个是根据传感器实际电路决定的。
   初始化后,这样G430的硬件iic就可以操作了,我们通过官方提供好的库函数可以向sht30发送数据和命令。按照手册操作即可。
   SHT30_Reset();  复位sht30.
  SHT30_Send_Cmd(HIGH_1_CMD);   0x2130
然后我们在while中1秒读取一次数据,数据读出,首先进行crc校验,校验ok,进行数据转换,通过串口发送到电脑,如图所示。

QQ图片20220807232841.png


src.rar

4.83 KB, 下载次数: 65

weifeng90 发表于 2022-8-8 08:06 来自手机 | 显示全部楼层
这个传感器精度咋样?
 楼主| wode2008 发表于 2022-8-12 19:36 | 显示全部楼层
weifeng90 发表于 2022-8-8 08:06
这个传感器精度咋样?

精度可以的。
isseed 发表于 2022-8-17 16:00 | 显示全部楼层
SHT30用起来复杂吗   

评论

不复杂  发表于 2022-8-28 15:45
plsbackup 发表于 2022-8-18 18:38 | 显示全部楼层
通信的速度是多少呢?  
sanfuzi 发表于 2022-8-18 18:58 | 显示全部楼层
使用的是硬件iic吗     

评论

硬件iic  发表于 2022-8-28 15:46
wengh2016 发表于 2022-8-18 19:32 | 显示全部楼层
这个sht30好像精度要高很多呢。   
 楼主| wode2008 发表于 2022-8-28 15:44 | 显示全部楼层
plsbackup 发表于 2022-8-18 18:38
通信的速度是多少呢?

400k
ccook11 发表于 2022-9-3 17:43 | 显示全部楼层
从sht10到sht31都非常好。   
wwppd 发表于 2022-9-3 18:35 | 显示全部楼层
sht20和sht30区别?   
mnynt121 发表于 2022-9-3 18:54 | 显示全部楼层
单片机对sht30的驱动程序
mnynt121 发表于 2022-9-3 20:39 | 显示全部楼层
传感器 要温度补偿?
juliestephen 发表于 2022-9-3 21:24 | 显示全部楼层
SHT30温湿度模块使用不错。  
ulystronglll 发表于 2022-12-5 22:37 | 显示全部楼层
这个温湿度传感器需要校准的吗?              
hudi008 发表于 2022-12-6 16:30 | 显示全部楼层
SHT30的精度挺高的。              
mmbs 发表于 2022-12-6 17:20 | 显示全部楼层
硬件iic会卡死怎么回事?              
maqianqu 发表于 2022-12-6 18:20 | 显示全部楼层
SHT30如何串联多个不同的模块呢?
YiMichael 发表于 2022-12-26 15:43 | 显示全部楼层
primojones 发表于 2023-1-7 17:09 | 显示全部楼层
这个最大测量范围是多大?              
wangdezhi 发表于 2023-1-9 11:18 | 显示全部楼层
这个不如模拟iic好移植呢              
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

127

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部