标题:
stm32驱动sht30代码
[打印本页]
作者:
980382912
时间:
2019-5-13 12:56
标题:
stm32驱动sht30代码
stm32驱动sht30
单片机源程序如下:
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "rs485.h"
#include "stm32f10x.h"
#include "SHT30.h"
#include "bsp_i2c_gpio.h"
extern float Temperature; //温度
extern float Humidity; //湿度
u16 T,H;
void Timer3_Init(u16 arr,u16 psc);
/****************************/
u8 Com_cjxy[9]={0xFF,0X01,0x86,0x00,0x00,0x00,0x00,0x00,0X79};//读取 O2 03 C2H4 传感器数据
u8 co2buf[9]={0xff,0x01,0x86,0,0,0,0,0,0x79}; //-CO2 读取气体浓度值
/****************************/
u8 USART1_BZ_1=0;
u8 USART2_BZ_2=0;
u8 USART3_BZ_3=0;
u8 USART4_BZ_4=0;
u8 USART5_BZ_5=0;
/******************************/
u8 Usart3_Rx_Cnt;//接收数量
u8 Usart4_Rx_Cnt;//接收数量
u8 Usart5_Rx_Cnt;//接收数量
/***************************/
//5种气体传感器采集标志位
u8 O2_cjbz; //
u8 C02_cjbz;
u8 O3_cjbz;
u8 C2H4_cjbz;
u8 Humi_cjbz; //空气湿度
u8 xhxs; //循环显示
u8 T_cgjlx; //传感器类型 12位
u8 I_lkh; //冷库号 13位
/********************************************/
u8 timcou,times,timem,timeh; // 时间标志 ,秒,分钟,小时
/********************************************/
u8 Com_protocol[22]={
0XFE,0XFE, //
0,0,0X03,0X02, //
0,0,0,0,
0,//11命令
0,//12 T
0,//13 I
0,//14 L
0,//15 D
0,//16
0,//17
0,//17
};
void Test_uart3();
int main(void)
{
delay_init(); //延时函数初始化
LED_Init(); //初始化与LED连接的硬件接口
Timer3_Init(4999,7199); //10Khz 的计数频率,计数到 5000 为 500ms
uart1_init(9600); //串口初始化为9600
RS485_Init(9600); //初始化RS485串口2
uart3_init(9600); //串口初始化为9600
uart4_init(9600); //串口初始化为9600
uart5_init(9600); //串口初始化为9600
delay_ms(100); //此处延时必须要有100ms ,不然SHT30 读数100
Sht30_Init();
printf( "Start testing"); //浓度
delay_ms(1000);
while(1)
{
Sht30_ReadData();
Convert_sht30();
delay_ms(500);
if(!USART1_BZ_1)
{
Usart1_Send(Com_cjxy,9);// 将传感器数据通过串口2打印输出
Usart3_Send(Com_cjxy,9);// 将传感器数据通过串口2打印输出
Uart4_Send(Com_cjxy,9);// 将传感器数据通过串口2打印输出
Uart5_Send(co2buf,9);// 将传感器数据通过串口2打印输出
USART1_BZ_1=0;
}
if((xhxs==1))//打印输出传感器参数
{
printf("O2 :%d\r\n",MO2); //浓度
printf("CO2 :%d\r\n",ME2O2); //浓度
printf("O3 :%d\r\n",MO3); //浓度
printf("C2H4 :%d\r\n",MC2H4); //浓度
printf("Humi :%.1f%\r\n",Humidity); //湿度
printf("temp :%.1f%\r\n",Temperature); //温度
printf(" \r\n");
T=Temperature; H=Humidity; //温度 湿度
xhxs=0;
}
}
}
复制代码
所有资料51hei提供下载:
1.2znlk.7z
(204.02 KB, 下载次数: 53)
2019-5-14 04:18 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
admin
时间:
2019-5-14 04:19
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1