GY39气压,温湿度,光照强度传感器 |
您所在的位置:网站首页 › 温湿度传感器怎么调节温度和湿度 › GY39气压,温湿度,光照强度传感器 |
一、GY39介绍
GY-39 是一款气压,温湿度,光照强度传感器模块。工作电压 3-5v,功耗小,安装方便。 其工作原理是,MCU 收集各种传感器数据,统一处理,直接输出计算后的结果。 GY39有两种方式读取数据,即串口 UART或者 IIC。 sum 代表校验和(前面数据累加和,仅保留低8位) (2)串口接收数据包讲解(3)实操证明 将USB转TTL连接 发送a5 83 28 串口调试助手就会接收到以下数据 1. 计算光照强度(当 Byte2=0x15 )
2. 计算温度、气压、湿度、海拔(当 Byte2=0x45 时) 3. 计算温度和湿度 四、串口通信代码 (1) GY39.h #ifndef __GY39_H #define __GY39_H #include "sys.h" #define USART6_MAX_RECV_LEN 30 //最大接收缓存字节数 #define USART6_MAX_SEND_LEN 30 //最大发送缓存字节数 #define USART6_RX_EN 1 //0,不接收;1,接收. extern char USART6_RX_BUF[USART6_MAX_RECV_LEN]; //接收缓冲,最大USART3_MAX_RECV_LEN字节 extern vu16 USART6_RX_STA; //接收数据状态 void GY39_Init(void); void GY39_Get_Temp_humi(int *temp,int *humi); #endif(2) GY39.c #include "gy39.h" #include #include "stdlib.h" #include "stdio.h" #include "string.h" #include "lcd.h" //串口接收缓存区 char USART6_RX_BUF[USART6_MAX_RECV_LEN]; //接收缓冲,最大USART6_MAX_RECV_LEN个字节. char USART6_TX_BUF[USART6_MAX_SEND_LEN]; //发送缓冲,最大USART6_MAX_SEND_LEN字节 //接收到的数据状态 //[15]:0,没有接收到数据;1,接收到了一批数据. //[14:0]:接收到的数据长度 vu16 USART6_RX_STA=0; void USART6_IRQHandler(void) { char res; if(USART_GetITStatus(USART6,USART_IT_IDLE) != RESET) { res = USART_ReceiveData(USART6); //读取接收到的数据,必须接受,否则会出错 USART6_RX_BUF[USART6_RX_STA++]=0; USART6_RX_STA|=1 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |