0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通过GPIO模拟IIC通信对接SHT20温湿度计

冬至配饺子 来源:兆易创新GD32 MCU 作者:飞扬的青春 2022-09-23 17:40 次阅读

因为是模拟的所以不必拘束IO管脚,我是选择了PB6,PB7管脚,这两个管脚旁边也有3.3V正好可以供电

之后看下代码吧。

`void IIC_Init(void)
{

rcu_periph_clock_enable(RCU_GPIOB);

/* configure led GPIO port */
gpio_mode_set(GPIOB, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_6|GPIO_PIN_7);
gpio_output_options_set(GPIOB, GPIO_OTYPE_OD, GPIO_OSPEED_50MHZ, GPIO_PIN_6|GPIO_PIN_7);

IIC_SpeedCtl(5);

SDA_H;                                                    //拉高SDA线,处于空闲状态
SCL_H;                                                    //拉高SCL线,处于空闲状态

}`

这里是IIC接口初始化,我们初始化成GPIO_OTYPE_OD,开漏输出,这样不必在意IO口的方向,方便读取IO状态。

pYYBAGMtflGAW1pRAACORdVVMTE683.png

之后获取温湿度值都在SHT20_GetValue函数中。主要就是读取两个寄存器里温湿度值。

然后我们可以仿真看下效果。

poYBAGMtfm2ACbNNAAF7DdDW2vk730.png




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    30

    文章

    5021

    浏览量

    117631
  • GPIO
    +关注

    关注

    16

    文章

    1129

    浏览量

    50483
  • IIC通信
    +关注

    关注

    0

    文章

    17

    浏览量

    2971
收藏 人收藏

    评论

    相关推荐

    新人发帖问关于i2c温湿度传感器SHT20在蓝牙协议栈的问题

    ` 在用某开发板看关于SHT20的一个温湿度测量应用,蓝牙协议栈和数据手册对照着看的。其中数据手册一部分,SHT20触发测量直接给了命令,如下图:用的是TICC2541,在协议栈的代码中直
    发表于 11-28 22:51

    【OneNET麒麟座试用体验】7.温湿度传感器SHT20的使用

    `SHT20是一种支持IIC协议的数字温湿度传感器。 能测量的温度范围是-20~100度,湿度范围是5%~90% 既然它是一个
    发表于 04-01 12:51

    【OneNET麒麟座试用体验】3.OneNET之HAL i2c的使用(SHT20温湿度测量)

    与原理这次主要使用STM32F103的HAL 库i2c来进行外设的操作,EEPROM AT24C02,温湿度传感器SHT20。AT24C02很熟悉了,256 B 的存储空间。就不过多说了。SHT20
    发表于 04-19 18:37

    蓝牙温湿度计常用的场景

    需两步便可完成连接,非常方便。将温湿度计部署在应用环境中后,可24小时不间断监测环境温湿度通过蓝牙网关将数据上传到云端,在监控后台或手机App上以可视化图表展示温湿度日线、周线、月线
    发表于 01-05 16:46

    ESP32-S2如何驱动SHT20获取温湿度数据?

    ESP32-S2如何驱动SHT20获取温湿度数据?
    发表于 11-08 08:07

    如何利用软件模拟I2C读写SHT20温湿度传感器

    下面利用软件模拟I2C读写SHT20温湿度传感器。一、SHT20通讯定义(1)设备I2C地址:0x40;(2)命令:测量温度和湿度都有两种模
    发表于 11-24 07:12

    SHT30温湿度模块怎么使用

    的STH30一般是用IIC(I2C)通信使用的,所以我们打开一个IIC通道,IIC默认配置就可以了。4、因为我们需要看见她的效果是什么,我开了一个串口,所有数据
    发表于 02-15 06:28

    【合宙Air105开发板试用体验】SHT20温湿度获取

    今天继续使用历程完成一下SHT20传感器的值获取。工程我们还是从实例工程中获取下。然后进行编译下载。可以焊接好排针方便接线。这里读取答应出了寄存器原始值,以及温湿度转换值。这里的计算公式感觉简化了实际手册中是这样的。本次通过手册
    发表于 06-24 09:39

    基于51单片机和AHT10温湿度传感器的温湿度计源码

    一款基于51单片机和AHT10温湿度传感器的温湿度计源码。
    发表于 10-09 08:39

    SHT20温湿度传感器数据读取异常如何解决?

    使用SHT20温湿度传感器,用模拟IIC通信,不能正确的读取数据。现象有3个 第一,读取温度的低8位始终是0xFF。 第二,读取温度的高8位
    发表于 10-19 06:32

    使用STM32F030单片机读取温湿度传感器SHT20的C语言源代码免费下载

    本文档的主要内容详细介绍的是使用STM32F030单片机读取温湿度传感器SHT20的C语言源代码免费下载。
    发表于 06-10 17:07 116次下载
    使用STM32F030单片机读取<b class='flag-5'>温湿度</b>传感器<b class='flag-5'>SHT20</b>的C语言源代码免费下载

    如何自己设计一款温湿度计

    家好,今天笔者要跟大家分享一款“温湿度计”的制作,一说到温湿度检测,或许大家第一个想到的就是DHT11了吧,单总线接口,操作方便,或者就是SHT2X系列的,IIC总线接口,编程也是比较
    的头像 发表于 11-23 12:02 9722次阅读
    如何自己设计一款<b class='flag-5'>温湿度计</b>

    温湿度计怎么使用_温湿度计怎么调

    本文首先阐述了温湿度计的使用方法,其次介绍了温湿度计的调节,最后介绍了家用指针式温湿度计调校方法。
    发表于 02-28 11:16 9.9w次阅读

    HP6心率血压、SHT20温湿度、MPU6050传感器使用

    多个传感器使用HP6心率血压IIC复习IIC简介:IIC数据接口IIC通讯速度器件地址软件模拟起始信号结束信号应答信号读字节/写字节
    发表于 12-06 15:51 26次下载
    HP6心率血压、<b class='flag-5'>SHT20</b><b class='flag-5'>温湿度</b>、MPU6050传感器使用

    sht20校验对读出的温度偏高

    温度读数偏高的原因,并提供解决方案。 第一部分:SHT20传感器原理及校验功能介绍 SHT20是一种基于CMOSens®技术的数字式温湿度传感器,具有高准确性和可靠性。其原理是通过测量
    的头像 发表于 01-04 11:01 480次阅读