wode2008 发表于 2022-8-7 23:30

【N32G430开发板试用】SHT30温湿度传感器硬件iic读取

@安小芯 论坛给了个评测N32G430开发板的机会,正好手上有高精度的SHT30温湿度传感器,IIc接口的传感器,想起来用下N32G430的硬件iic操作一下。硬件连接方式,我用的i2c1,PB6和Pb7引脚。

配置时钟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,进行数据转换,通过串口发送到电脑,如图所示。




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用起来复杂吗   

plsbackup 发表于 2022-8-18 18:38

通信的速度是多少呢?

sanfuzi 发表于 2022-8-18 18:58

使用的是硬件iic吗   

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好移植呢            
页: [1] 2
查看完整版本: 【N32G430开发板试用】SHT30温湿度传感器硬件iic读取