wode2008 发表于 2022-4-2 16:02

【AT-START-F425测评】SHT30温湿度传感器+硬件IIC

#申请原创# #雅特力# 由于上海上月中旬一直疫情,导致开发板不在身边,还好大掌柜宽容几天,赶紧写了个测评,身边找了个SHT30温湿度传感器,之前一直在用模拟IIC来操作这款传感器,21ic给了使用AT425这款开发板,尝试使用上面的硬件iic进行操作一番,准备资料如下。官方网站:https://www.arterytek.com/cn/index.jsp,我们在上面可以下载到我们需要的资料,参考手册,数据手册,MDK包插件,以及at-link驱动包,demo程序例程包,我所写的程序,也是基于官方的iic的demo程序,具体配置如下,

                           我们的工程目录如下整体组织结构都是根据官方格式:

MDK的环境目录配置如下:

define这一行的宏,不要配置错,不然编译报错,对应的头文件目录包括一定要全。

代码部分我们主要实现的是main.c和sht30驱动,时间有限,还没有移植oled屏显示。
我们使用硬件iic,那么需要调用系统的库函数,由于官方给我们封装了第三方库,也可以说是中间层,i2c_application.c这个文件,封装了很多的函数,我们可以直接调用即可iic初始化部分代码如下:
void i2c_lowlevel_init(i2c_handle_type* hi2c)
{
gpio_init_type gpio_init_structure;

if(hi2c->i2cx == I2Cx_PORT)
{
    /* i2c periph clock enable */
    crm_periph_clock_enable(I2Cx_CLK, TRUE);   
    crm_periph_clock_enable(I2Cx_SCL_GPIO_CLK, TRUE);
   // crm_periph_clock_enable(I2Cx_SDA_GPIO_CLK, TRUE);

    /* gpio configuration */
    gpio_pin_mux_config(I2Cx_SCL_GPIO_PORT, I2Cx_SCL_GPIO_PinsSource, I2Cx_SCL_GPIO_MUX);

    gpio_pin_mux_config(I2Cx_SDA_GPIO_PORT, I2Cx_SDA_GPIO_PinsSource, I2Cx_SDA_GPIO_MUX);

    /* configure i2c pins: scl */
    gpio_init_structure.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
    gpio_init_structure.gpio_mode         = GPIO_MODE_MUX;
    gpio_init_structure.gpio_out_type       = GPIO_OUTPUT_OPEN_DRAIN;
    gpio_init_structure.gpio_pull         = GPIO_PULL_UP;

    gpio_init_structure.gpio_pins         = I2Cx_SCL_GPIO_PIN;
    gpio_init(I2Cx_SCL_GPIO_PORT, &gpio_init_structure);

    /* configure i2c pins: sda */
    gpio_init_structure.gpio_pins         = I2Cx_SDA_GPIO_PIN;
    gpio_init(I2Cx_SDA_GPIO_PORT, &gpio_init_structure);

    i2c_init(hi2c->i2cx, 0, I2Cx_CLKCTRL);

    i2c_own_address1_set(hi2c->i2cx, I2C_ADDRESS_MODE_7BIT, 0x44);
}
}
然后就是SHT30初始化代码:

初始化成功后,我们在while(1)里循环读取温湿度数据,读出的是原始数据,还需要我们CRC校验后进行转换成浮点格式显示出来。

红色方框内即为读取函数和转换数据函数。
在串口显示如下

开发板实际接线图如下:

程序源码见附件,可直接打开编译下载。最后还是要感谢提供开发板的官方与21论坛,后续会继续支持与学习,祝雅特力与21越办越好




sparrow054 发表于 2022-4-6 14:09

多谢分享!

WoodData 发表于 2022-4-8 14:27

666666666666666666
我来看看

janewood 发表于 2022-5-16 09:52

这个是硬件iic吗?

geraldbetty 发表于 2022-5-16 12:01

SHT30测量范围是多大的

rosemoore 发表于 2022-5-16 12:33

SHT30跟dht11哪个精度高?

soodesyt 发表于 2022-5-16 12:59

硬件IIC存在stm32那种bug吗、

touser 发表于 2022-5-16 13:39

这个板子资源还真的很丰富呢

burgessmaggie 发表于 2022-5-16 15:37

iic的速度还可以吗?

deliahouse887 发表于 2022-5-16 16:24

硬件IIC效果怎么样

feihangdan 发表于 2022-5-23 10:25

学习一下开发

uptown 发表于 2022-5-28 15:20

SHT30精度怎么样?

maqianqu 发表于 2022-5-28 17:14

这个硬件iic没有问题吧。

cehuafan 发表于 2022-5-28 17:56

AT-START-F425还可以申请吗

linfelix 发表于 2022-5-29 08:32

硬件IIC效率怎么样

骑着蜗牛狂奔O 发表于 2022-5-29 20:23

soodesyt 发表于 2022-5-16 12:59
硬件IIC存在stm32那种bug吗、

不存在
页: [1]
查看完整版本: 【AT-START-F425测评】SHT30温湿度传感器+硬件IIC