利用模拟iic采集温湿度,利用ADC采集雨雪
模拟iic

/*================================================================IIC address
================================================================*/
#define SHT20ADDR      0x80
#define SHT31ADDR      0x88
/*================================================================ACK  and  NACK  defination
================================================================*/
#define ACK            1
#define NACK           0/*================================================================HTU20D Command Code
================================================================*/
/*Command                         Code              CommentTrigger Temperature Measurement 0xe3              Hold masterTrigger Humidity Measurement    0xe5              Hold masterTrigger Temperature Measuremeng 0xf3              No Hold masterTrigger Humidity Measurement    0xf5              No Hold masterWrite user register             0xe6Read user register              0xe7Soft Reset                      0xfe
*/
#define SOFT_RESET      0xfe
#define READ_REGISTER   0xe7
#define WRITE_REGISTER  0xe6
#define TRIGGER_TEMP    0xf3
#define TRIGGER_HUMI    0xf5/*================================================================HTU20 operate interface
================================================================*/
#define HTU20_SDA         GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_10)
#define HTU20_SCL         GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_1)/*
²Ù×÷¶ÔÏóΪFM24C02
*/
#define ADDR_24CXX       0xA0
#define SCLH        scl3_h()
#define SCLL        scl3_l()#define SDAH        sda3_h()
#define SDAL        sda3_l()
#define SCLread     GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_1)
#define SDAread     GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_10)#define  MS561101BA_SlaveAddress 0xee  //¶¨ÒåÆ÷¼þÔÚIIC×ÜÏßÖеĴӵØÖ·#define  MS561101BA_D1 0x40
#define  MS561101BA_D2 0x50
#define  MS561101BA_RST 0x1E //#define  MS561101BA_D1_OSR_256 0x40
//#define  MS561101BA_D1_OSR_512 0x42
//#define  MS561101BA_D1_OSR_1024 0x44
//#define  MS561101BA_D1_OSR_2048 0x46
#define  MS561101BA_D1_OSR_4096 0x48 //#define  MS561101BA_D2_OSR_256 0x50
//#define  MS561101BA_D2_OSR_512 0x52
//#define  MS561101BA_D2_OSR_1024 0x54
//#define  MS561101BA_D2_OSR_2048 0x56
#define  MS561101BA_D2_OSR_4096 0x58 #define  MS561101BA_ADC_RD 0x00
#define  MS561101BA_PROM_RD 0xA0
#define  MS561101BA_PROM_CRC 0xAE
u16 Cal_C[7];  //ÓÃÓÚ´æ·ÅPROMÖеÄ8×éÊý¾Ývoid scl3_h()
{GPIO_SetBits(GPIOB,GPIO_Pin_1);}void scl3_l()
{ GPIO_ResetBits(GPIOB,GPIO_Pin_1);
}void sda3_h()
{GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN;//Êä³öGPIO_InitStructure.GPIO_OType=GPIO_OType_OD;  //ÍÆÍìÊä³öGPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;  //ÉÏÀ­GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //¸ßËÙGPIOGPIO_Init(GPIOA,&GPIO_InitStructure);
}void sda3_l()
{GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT;//Êä³öGPIO_InitStructure.GPIO_OType=GPIO_OType_OD;  //ÍÆÍìÊä³öGPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;  //ÉÏÀ­GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //¸ßËÙGPIOGPIO_Init(GPIOA,&GPIO_InitStructure);GPIO_ResetBits(GPIOA,GPIO_Pin_10);
}
void I2C3_delay(void)
{ u16 i=5; //ÕâÀï¿ÉÒÔÓÅ»¯ËÙ¶È £¬¾­²âÊÔ×îµÍµ½5»¹ÄÜдÈëwhile(i--) { __nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();    }
}u8 I2C3_Start(void)
{SDAH;SCLH;I2C3_delay();if(!SDAread)return 0; //SDAÏßΪµÍµçƽÔò×ÜÏßæ,Í˳öSDAL;I2C3_delay();if(SDAread) return 0; //SDAÏßΪ¸ßµçƽÔò×ÜÏß³ö´í,Í˳öSDAL;I2C3_delay();return 1;
}void I2C3_Stop(void)
{SCLL;I2C3_delay();SDAL;I2C3_delay();SCLH;I2C3_delay();SDAH;I2C3_delay();
}void I2C3_Ack(void)
{ SCLL;I2C3_delay();SDAL;I2C3_delay();SCLH;I2C3_delay();SCLL;I2C3_delay();
}void I2C3_NoAck(void)
{ SCLL;I2C3_delay();SDAH;I2C3_delay();SCLH;I2C3_delay();SCLL;I2C3_delay();
}
u8 I2C3_WaitAck(void)  //·µ»ØΪ:=1ÓÐACK,=0ÎÞACK
{SCLL;I2C3_delay();SDAH;   I2C3_delay();SCLH;I2C3_delay();if(SDAread){SCLL;return 0;}SCLL;return 1;
}void I2C3_SendByte(u8 SendByte) //Êý¾Ý´Ó¸ßλµ½µÍλ//
{u8 i=8;while(i--){SCLL;I2C3_delay();if(SendByte&0x80)SDAH;  else SDAL;   SendByte<<=1;I2C3_delay();SCLH;I2C3_delay();}SCLL;
}
u8 I2C3_ReceiveByte(void) //Êý¾Ý´Ó¸ßλµ½µÍλ//
{ u8 i=8;u8 ReceiveByte=0;SDAH;    while(i--){ReceiveByte<<=1;      SCLL;I2C3_delay();SCLH;I2C3_delay(); if(SDAread){ReceiveByte|=0x01;}}SCLL;return ReceiveByte;
}

修改对应的gpio管脚和对应时序可用,此iic对应温湿度探头位SHT20探头

利用ADC采集雨雪相关

void GetVolt()
{u8 i;u32 temp=0;for(i=0;i<160;i++)temp+=RegularConvData_Tab[i];  temp=temp/160;//temp=Volt1;temp=temp*825/1024;if(votick==4){RegularConvData_Tab2[votick++]=temp;votick=0;temp=0;for(i=0;i<5;i++)temp+=RegularConvData_Tab2[i];  Volt1=temp/5;Volt1=(Volt1+lstVolt1)/2;lstVolt1=Volt1;if(Volt1>22)isLoushui=1;elseisLoushui=0;}else{RegularConvData_Tab2[votick++]=temp;}}
做好相关初始化工作

温湿度雨雪复合传感器相关推荐

  1. 复合火焰探测传感器_暨南大学:基于垂直碳纳米片阵列的火焰合成碳泡沫的复合传感器...

    成果简介 本文,暨南大学杜续生研究员团队在<ACS SUSTAIN CHEM ENG>期刊发表名为"Highly Sensitive Flexible Poly(dimethyl ...

  2. 【上电即上华为云】华为云openCPU智联模组_Cat.1_MC615-CN-L610-CN_环境温湿度(GXHT30传感器)

    原贴地址:https://bbs.huaweicloud.com/blogs/300123 [摘要] openCPU开发Cat.1模组L610-CN,运行模组内置的hwcloud iot link协议 ...

  3. 浅谈声发射振动复合传感器

    浅谈声发射振动复合传感器 随着全球经济和自动化工业的迅速发展,人们对设备故障特别是轴承类的故障诊断也日益重视起来了. 为满足客户对旋转仪器轴承异常的精准诊断,单一的依靠振动信号或声信号分析,是很难兼顾 ...

  4. GY-39 气压,温湿度,光强度 传感器

    文章目录 一.什么是GY-39? 二.产品参数 三.引脚说明 四.通信协议 1. 串口通信 2. IIC通信 五.项目工程 一.什么是GY-39? GY-39 是一款低成本,气压,温湿度,光强度 传感 ...

  5. 长程蓝牙温湿度及光照度传感器 , 带四通道开关及指示灯(集成太阳能微能量采集功能)

    主要硬件: Nordic nRF52840 长程蓝牙 SoC , 外置棒式天线 TE HTU21DF 数字温湿度传感器 ROHM BH1750FVI 光照度传感器 ANALOG ADP5092 集成M ...

  6. sht20温湿度传感器原理图_温湿度传感器在孵化行业怎么应用

    随着近年来环保力度的加大,畜牧养殖行业逐渐认识到节能减排.环境控制对于畜禽养殖具有重要意义,并且节能环保控制已开始出现在孵化行业. 以前,一些家禽孵化场没有恒温恒湿的概念,他们认为孵化是一个带有孵化设 ...

  7. dht11温湿度传感器_Arduino不调用库实现DHT11数据读取

    DHT11概述 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性.传感器包括一个电阻式 ...

  8. 【51单片机快速入门指南】6.4:DHT11、DHT22单总线温湿度传感器

    目录 硬知识 DHT11 DHT22 通信协议 读取步骤 数据解读 DHT11 DHT22 示例程序 DHT11_22.c DHT11_22.h 测试程序 main.c 实验现象 DHT11 DHT2 ...

  9. sht-11c语言程序,温湿度传感器SHT11数据手册(中文)版.pdf

    温湿度传感器SHT11数据手册(中文)版 数字温湿度传感器 SHT 1x / SHT 7x SHT7x (请以英文为准,译文仅供参考) SHT1x _ 相对湿度和温度测量 _ 兼有露点 _ 全部校准, ...

最新文章

  1. iOS关于自定义rightBarButtonItem
  2. 函数调用oracle,oracle 函数调用
  3. 用js操作table、tr、td 「字体样式及TD背景图片」
  4. 别人的加班 vs 互联网人的加班
  5. java map null吗_Java: Map里面的键和值可以为空吗?
  6. webmagic抓取实例
  7. jQuery过滤选择器 通过过滤条件选取需要的元素
  8. php pacs,PACS系统
  9. 电熨斗IEC测试流程及周期
  10. android主题编辑器,安卓 EMUI主题编辑器 Theme Editor For EMUI v1.13.5 专业版
  11. matlab中求声音的长度,关于声音分贝大小
  12. 电容补偿柜容量计算发放
  13. oracle expdp作业外表报错ORA-20011KUP-11024ORA-29913
  14. 过麦--回忆里面的山东
  15. 蓝牙音箱方案选用及设计注意
  16. html文件记事本打开乱码,如何解决记事本打开出现乱码
  17. 1NF,2NF,3NF,BCNF范式(学习笔记)
  18. PMP模拟试题与解析(四)
  19. mysql 不重复_Mysql 查询不重复数据
  20. (二)2.逻辑代数的基本定理

热门文章

  1. 蚂蚁金服如何开垦农村金融市场
  2. Trinity 一条龙策略
  3. 如何开启谷歌浏览器的实验室功能
  4. sybase常用命令
  5. VSS和CVS比较[一]
  6. 实用教学Prompt 提示词实战:如何用 ChatGPT 指导高考语文作文写作
  7. java 扑克牌 翻牌,jQuery实现扑克正反面翻牌效果
  8. 28岁程序身价过亿,从字节提前“退休
  9. 简历模板(毕业学生)
  10. 爱企查 爬取公司基本信息