当前位置: 首页 > wzjs >正文

恒基建设集团网站地址湖南衡阳市建设工程造价网站

恒基建设集团网站地址,湖南衡阳市建设工程造价网站,营销方向有哪些,泸州网站优化推广作业: 使用I2C获取SHT20传感器温湿度 使用I2C获取AP3216C三合一传感器: 光照, 接近, 红外 三个功能 合并的传感器 #ifndef SHT20_H #define SHT20_H#include "stdint.h" #include "i2c.h" #include "stdio.h" //1、确定从机的设备地址(代码不…

作业:  

使用I2C获取SHT20传感器温湿度

使用I2C获取AP3216C三合一传感器:  光照, 接近, 红外 三个功能 合并的传感器

#ifndef SHT20_H
#define SHT20_H#include "stdint.h"
#include "i2c.h"
#include "stdio.h"
//1、确定从机的设备地址(代码不需要)
#define SHT20_ADDR 0x40
//2、确定主机的读写地址
#define SHT20_READ_ADDR 0x81
#define SHT20_WRITE_ADDR 0x80
//3、测量温度和湿度的命令
#define T_CMD 0xf3		//温度测量
#define RH_CMD 0xf5	//湿度测量
float SHT20_Send(uint8_t cmd);
void T_RH();#endif
#include "sht20.h"
/****************************************************************
函数名:SHT20_Send(uint8_t Devaddr,uint8_t cmd)
功能:SHT20的发送函数
参数1:设备地址
参数2:发送的命令
返回值:成功返回测量的数据,失败返回0
****************************************************************/
float SHT20_Send(uint8_t cmd)
{uint8_t buff[2]={0};HAL_StatusTypeDef ret;ret = HAL_I2C_Master_Transmit(&hi2c1,SHT20_WRITE_ADDR,&cmd,1,100);		//发送写命令if(ret==HAL_OK){HAL_Delay(85);HAL_I2C_Master_Receive(&hi2c1,SHT20_READ_ADDR,buff,2,100);			//接受数据uint16_t val = buff[0]<<8|buff[1];return val;}return 0;		//失败返回 0
}
/****************************************************************
函数名:T_RH()
功能:读取温度湿度
参数:无
返回值:无
****************************************************************/
void T_RH()
{float S_T = SHT20_Send(T_CMD);		//测量温度float S_RH = SHT20_Send(RH_CMD);		//测量湿度float rh = -6+125*(S_RH/65536);float t = -46.85+175.72*(S_T/65535);printf("温度:%.2f℃\t湿度:%.2f%%\n",t,rh);//换算成数据输出即可
}
int fputc(int ch,FILE *FP)
{while(!(USART1->ISR&1<<7));USART1->TDR = ch;return ch;
}
#ifndef AP3216C_H
#define AP3216C_H#include "stdint.h"
#include "i2c.h"
#include "stdio.h"
//1、确定从机的设备地址
#define AP3216C_ADDR 0x1e
//2、确定主机的读写地址
#define AP3216C_WRITE_ADDR  (AP3216C_ADDR << 1)      		// 写地址:0x3C
#define AP3216C_READ_ADDR   ((AP3216C_ADDR << 1) | 1)		// 读地址:0x3D
//3、测量温度和湿度的命令
#define SYS_CFG_REG 0x00			// 系统配置寄存器
#define ALS_CMD 0x0c					//环境光测量
#define PS_CMD 0x0e					//接近测量
#define IRLED_CMD 0x0a				//红外测量
//相关函数声明
void AP3216C_Init(void);			//初始化AP3216C
void ALS_PS_IRLED();					//读取环境光、接近、红外#endif
#include "ap3216c.h"
// 初始化传感器为ALS+PS+IR模式
void AP3216C_Init(void) 
{uint8_t cfg_cmd[2] = {SYS_CFG_REG, 0x03};  // 模式011: ALS+PS+IRHAL_I2C_Master_Transmit(&hi2c1, AP3216C_WRITE_ADDR, cfg_cmd, 2, 100);HAL_Delay(100);  // 等待传感器稳定
}
// 读取ALS原始值(16位)
static uint16_t ReadALS(void) 
{uint8_t buff[2];HAL_I2C_Mem_Read(&hi2c1, AP3216C_READ_ADDR, ALS_CMD, I2C_MEMADD_SIZE_8BIT, buff, 2, 100);return (buff[1] << 8) | buff[0];  // 合并高低字节
}
// 读取PS原始值(10位)
static uint16_t ReadPS(void) 
{uint8_t buff[2];HAL_I2C_Mem_Read(&hi2c1, AP3216C_READ_ADDR, PS_CMD, I2C_MEMADD_SIZE_8BIT, buff, 2, 100);return ((buff[1] & 0x3F) << 4) | (buff[0] & 0x0F);  // 提取10位数据
}
// 读取IR原始值(10位)
static uint16_t ReadIRLED(void) 
{uint8_t buff[2];HAL_I2C_Mem_Read(&hi2c1, AP3216C_READ_ADDR, IRLED_CMD, I2C_MEMADD_SIZE_8BIT, buff, 2, 100);return (buff[1] << 2) | buff[0]&0x03;		// 提取10位数据
}
//读取环境光、温度、湿度
void ALS_PS_IRLED()
{float S_ALS = ReadALS();		//测量环境光uint16_t S_PS = ReadPS();		//测量接近uint16_t S_IRLED = ReadIRLED();		//测量红外float ALS_lux = S_ALS * 0.36f;  // 转换为lux(默认范围1)printf("环境光:%8.2f lux\t接近:%-4d\t红外:%-4d\n",ALS_lux,S_PS,S_IRLED);//换算成数据输出即可
}
  /* USER CODE BEGIN Includes */#include "sht20.h"#include "ap3216c.h"/* USER CODE END Includes *//* USER CODE BEGIN 2 */AP3216C_Init();/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */HAL_Delay(500);T_RH();						//读取温度、湿度ALS_PS_IRLED();		//读取环境光、接近、红外}/* USER CODE END 3 */


文章转载自:

http://QB2pJSzS.mynbc.cn
http://3T5wXDBa.mynbc.cn
http://uu044omK.mynbc.cn
http://RJBY9v0N.mynbc.cn
http://sJq9WtMP.mynbc.cn
http://NSQQAgl8.mynbc.cn
http://disXOLdh.mynbc.cn
http://iIg0Bk3L.mynbc.cn
http://uRjB2fEB.mynbc.cn
http://Ae3DVJk2.mynbc.cn
http://t2elNlgD.mynbc.cn
http://lAtU08dk.mynbc.cn
http://9Fe72e2Y.mynbc.cn
http://Jp5FAXXv.mynbc.cn
http://i6TMKZSG.mynbc.cn
http://HYMAl0Em.mynbc.cn
http://cdSL8Yyu.mynbc.cn
http://bdZ07X4s.mynbc.cn
http://KjhfSQbs.mynbc.cn
http://7ugH6UzF.mynbc.cn
http://SLga0QeL.mynbc.cn
http://EJdGxYzz.mynbc.cn
http://jkfr2Ldr.mynbc.cn
http://v0Mv3xP3.mynbc.cn
http://2E6JmIl3.mynbc.cn
http://Hg6G7CSw.mynbc.cn
http://GNX9YLyn.mynbc.cn
http://4RRwzI4z.mynbc.cn
http://XVVGLwB6.mynbc.cn
http://BiQNxmo8.mynbc.cn
http://www.dtcms.com/wzjs/695659.html

相关文章:

  • 建立网站要多少钱WordPress数据库授权
  • 网站开发需要多久企业网站建设 调研
  • 花都区营销型网站建设设计商标
  • 提升审美网站电商的运营模式有几种
  • 网站qq链接怎么做做教案找资料有哪些网站
  • 如何做网络推广网站哪里有网站建设官网
  • 网站的建设与运营专业好的营销网站设计公司
  • 做的网站缩小内容就全乱了wordpress安装后慢的不行
  • 吉林网站建设代理渠道义乌建站
  • 龙岩网站建设极速建站wordpress上传logo
  • 网站制作公司中怎么把网站排名优化
  • 目前做的比较好的法律网站有哪些上海制造业企业100强
  • 昆山网站优化微信手机网站
  • 品牌网站开发背景清明节ppt模板免费下载
  • 深圳市盐田区住房和建设局网站济南官网
  • 求个国外在线网站杭州 网站开发
  • 好网站网络推广员压力大吗
  • 门窗网站模板百度快速排名优化技术
  • 青岛建设银行网站首页深圳做网站d
  • 商城网站的基本功能做网站济南西
  • 网站节点加速如何做app软件开发
  • 辽宁网站建设论坛计算机网站开发是什么专业
  • 江宁网站建设价位大公司网站开发
  • 做公司网站有没有必要数字货币网站开发需求
  • 京东商城网站建设分析秦皇岛金洋建设集团网站
  • 有没有专业做steam创客的网站个人网站开发的意义
  • 全网营销一站式推广网站页面设计怎么分析
  • 如何让百度快速收录网站wordpress 请选择一个文件夹
  • 网页小游戏免费秒玩wordpress 优化变快
  • 东莞做网站dgjcwl网站中文商标域名注册