甲醛检测仪

简介
本项目是工作中做的一个便携式手持检测仪项目,集成了自家公司的HCHO,TVOC传感器,买的sht30温湿度传感器,基本功能是能通过集成的传感器检测温湿度信息,空气中甲醛含量,TVOC含量,能通过厂家定制的段码屏显示这些信息和电池电量,能通过按键控制屏幕亮度,短按亮度变暗,长按关闭屏幕。基本功能框图如下:
在这里插入图片描述
本文将分模块对相应功能进行介绍。

SHT30温湿度介绍
SHT30是I2C接口的高精度温湿度传感器

I2C
I2C是常见的通讯协议,其基本的介绍见之前写的博文I2C知识点小结,在stm32中,有通过GPIO口模拟I2C的用法,有使用库函数的硬件I2C用法(据说库函数硬件I2C有些问题),此处对模拟I2C的基本函数进行介绍,代码如下:

/I2C.h******/
//IO方向设置,操控寄存器
#define SDA_IN() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)8<<28;}
#define SDA_OUT() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)3<<28;}

//IO输出电平操作,位段操作
#define IIC_SCL PBout(6) //SCL
#define IIC_SDA PBout(7) //SDA
/以下是I2C.c******/
1
2
3
4
5
6
7
8
9
1.初始化I2C,使用GPIO口PB6,PB7来模拟I2C

void IIC_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE ); //使能GPIOB时钟

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ;   //推挽输出
GPIO_InitStructure.GPIO_Speed 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值