飞扬的青春 · 2022年04月30日

【GD32F310开发板试用】SHT20温湿度传感器获取值

本次我们通过GPIO模拟IIC通信对接SHT20温湿度计。先看下接线吧。
图片1.jpg
图片2.jpg
因为是模拟的所以不必拘束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状态。
图片3.png
之后获取温湿度值都在SHT20_GetValue函数中。主要就是读取两个寄存器里温湿度值。
然后我们可以仿真看下效果。
图片4.gif

代码:https://gitee.com/ximengran/g...

推荐阅读
关注数
10694
内容数
187
中国高性能通用微控制器领域的领跑者兆易创新GD系列芯片技术专栏。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息