• 大小: 324KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: 其他
  • 标签: STM32  例程  AM2302  

资源简介

STM31F103 例程 包括 基本功能 温湿度传感器AM2302驱动例程 作为用户开发温湿度传感器的参考
软件开发工具 KEIL4

资源截图

代码片段和文件信息

//================================================================================
//STM32F103     多功能通讯控制演示模块
//================================================================================
//am2302_S.C/H  AM2302温湿度传感器驱动库函数 BY SAGAHDS 20170807 20170823 20180410
//================================================================================
#include “stm32f10x.h“
#include “am2302_S.h“ 
#include “tim_S.h“ 
#include “usart_S.h“
#include “pio_S.h“
//================================================================================
//BY SAGAHDS 20180410
unsigned int  AM_TIMER;  //定时器读取AM2302用的定时为3000毫秒
//BY SAGAHDS 20170823 20180410
unsigned char AM_BUFF01[33]; //从机温湿度数据缓存
unsigned int  AM_Humi_S; //Humidity; //湿度
unsigned int  AM_Temp_S; //Temperature;  //温度
unsigned char AM_FLAG;  //AM2302开关信号
      #define AM_FLAG_ENABLE  0x01  //置1安装了AM2302
//================================================================================
u8    U8FLAG=0U8temp=0;
u8    U8T_data_H=0U8T_data_L=0U8RH_data_H=0U8RH_data_L=0U8checkdata=0;
u8    U8T_data_H_temp=0U8T_data_L_temp=0U8RH_data_H_temp=0U8RH_data_L_temp=0U8checkdata_temp=0;
u8    U8comdata=0;
int   humi=0temper=0;   //湿度和温度暂存数据
//================================================================================
//BY SAGAHDS 20170823
void AM2302_Configuration(unsigned char Enable)
{
GPIO_InitTypeDef GPIO_InitStructure;  

  if(!Enable)
  {
AM_FLAG = 0;
    USART_Put_String(“AM2302 No Installation.\r\n“);
    return;
}

AM_FLAG |= AM_FLAG_ENABLE;
AM_TIMER = 0;

RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB ENABLE); 

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD; //设置管脚为模式初始化为输出开漏
  GPIO_Init(GPIOB &GPIO_InitStructure);

AM_BUFF01[16]=‘0‘;
AM_BUFF01[17]=‘0‘;
AM_BUFF01[19]=‘0‘;
AM_BUFF01[24]=‘0‘;
AM_BUFF01[25]=‘0‘;
AM_BUFF01[27]=‘0‘;

  USART_Put_String(“AM2302 Installation.\r\n“);
}

void COM(void)    //从AM2302中读取一个字节
{
u8 i;

for(i=0;i<8;i++)    
{
U8FLAG=2;
while((!(DAT_R))&&U8FLAG++);
if(U8FLAG==1)break;

//TIM_Delay_us_S(30);
Delay_us_S(30);

U8temp=0;
if(DAT_R)U8temp=1;
U8FLAG=2;
while((DAT_R)&&U8FLAG++);
//超时则跳出for循环   
if(U8FLAG==1)break;
//判断数据位是0还是1  
       
// 如果高电平高过预定0高电平值则数据位为 1 
     
U8comdata<<=1;
U8comdata|=U8temp;        //0
}
}

//--------------------------------
//-----湿度读取子程序 ------------
//--------------------------------
//----以下变量均为全局变量--------
//----温度高8位== U8T_data_H------
//----温度低8位== U8T_data_L------
//----湿度高8位== U8RH_data_H-----
//----湿度低8位== U8RH_data_L-----
//----校验 8位 == U8checkdata-----
//--------------------------------

void RH(void)
{
//主机拉低18ms 
DAT_L;

//TIM_Delay_us_S(18000);
Delay_us_S(18000);
DAT_H;
  
//总线由上拉电阻拉高 主机延时20us
//TIM_Delay_us_S(30);
Delay_us_S(30);
//

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      26180  2018-11-30 15:21  Sagahds_20181210_STM32_AM2302_V0.1\cortexm3_macro.lst

     文件       5942  2018-11-01 09:31  Sagahds_20181210_STM32_AM2302_V0.1\device\am2302_S.c

     文件       1575  2018-11-01 09:34  Sagahds_20181210_STM32_AM2302_V0.1\device\am2302_S.h

     文件      51343  2018-12-10 15:11  Sagahds_20181210_STM32_AM2302_V0.1\output\Sagahds.hex

     文件     107769  2018-12-10 15:11  Sagahds_20181210_STM32_AM2302_V0.1\Sagahds.map

     文件      51744  2018-07-31 17:59  Sagahds_20181210_STM32_AM2302_V0.1\Sagahds.plg

     文件        479  2018-07-31 17:53  Sagahds_20181210_STM32_AM2302_V0.1\Sagahds.sct

    .......     71798  2018-12-10 15:14  Sagahds_20181210_STM32_AM2302_V0.1\Sagahds.uvgui.Administrator

     文件      71194  2018-12-03 13:51  Sagahds_20181210_STM32_AM2302_V0.1\Sagahds.uvguix.Administrator

    .......     71790  2018-12-10 15:10  Sagahds_20181210_STM32_AM2302_V0.1\Sagahds.uvgui_Administrator.bak

    .......     21339  2018-12-10 15:14  Sagahds_20181210_STM32_AM2302_V0.1\Sagahds.uvopt

     文件      21881  2018-12-03 13:51  Sagahds_20181210_STM32_AM2302_V0.1\Sagahds.uvoptx

    .......     21328  2018-12-10 15:03  Sagahds_20181210_STM32_AM2302_V0.1\Sagahds.uvproj

     文件      22004  2018-12-03 13:48  Sagahds_20181210_STM32_AM2302_V0.1\Sagahds.uvproj.saved_uv4

     文件      67955  2018-12-10 15:11  Sagahds_20181210_STM32_AM2302_V0.1\Sagahds_Target 1.dep

    .......     21338  2018-12-10 15:10  Sagahds_20181210_STM32_AM2302_V0.1\Sagahds_uvopt.bak

    .......     26700  2018-12-05 17:19  Sagahds_20181210_STM32_AM2302_V0.1\Sagahds_uvproj.bak

     文件      40529  2018-12-10 15:11  Sagahds_20181210_STM32_AM2302_V0.1\startup_stm32f10x_md.lst

     文件      12895  2017-05-12 23:41  Sagahds_20181210_STM32_AM2302_V0.1\startup_stm32f10x_md.s

     文件       7181  2012-03-19 17:29  Sagahds_20181210_STM32_AM2302_V0.1\stm32f10x\misc.c

     文件       9117  2012-03-19 17:29  Sagahds_20181210_STM32_AM2302_V0.1\stm32f10x\misc.h

     文件      47336  2012-03-19 17:29  Sagahds_20181210_STM32_AM2302_V0.1\stm32f10x\stm32f10x_adc.c

     文件      21825  2012-03-19 17:29  Sagahds_20181210_STM32_AM2302_V0.1\stm32f10x\stm32f10x_adc.h

     文件       8598  2012-03-19 17:29  Sagahds_20181210_STM32_AM2302_V0.1\stm32f10x\stm32f10x_bkp.c

     文件       7690  2012-03-19 17:29  Sagahds_20181210_STM32_AM2302_V0.1\stm32f10x\stm32f10x_bkp.h

     文件      45238  2012-03-19 17:29  Sagahds_20181210_STM32_AM2302_V0.1\stm32f10x\stm32f10x_can.c

     文件      27694  2012-03-19 17:29  Sagahds_20181210_STM32_AM2302_V0.1\stm32f10x\stm32f10x_can.h

     文件      11791  2012-03-19 17:29  Sagahds_20181210_STM32_AM2302_V0.1\stm32f10x\stm32f10x_cec.c

     文件       6708  2012-03-19 17:29  Sagahds_20181210_STM32_AM2302_V0.1\stm32f10x\stm32f10x_cec.h

     文件       3482  2012-03-19 17:29  Sagahds_20181210_STM32_AM2302_V0.1\stm32f10x\stm32f10x_crc.c

............此处省略66个文件信息

评论

共有 条评论