• 大小: 31.13MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-06-22
  • 语言: 其他
  • 标签: code  GSM  GPS  GPRS  ADXL345  

资源简介

内含成功实验的工程代码。外加分析过程和截图。 使用了GPSRS模块、GPS模块、GSM模块以及ADXL345模块,完成摔倒检测、定位及短信报警功能。

资源截图

代码片段和文件信息

/**
  ******************************************************************************
  * @file    adc.c
  * @author  YANDLD
  * @version V2.4
  * @date    2013.5.23
  * @brief   超核K60固件库 ADC模块驱动
  ******************************************************************************
  */
#include “adc.h“
static uint8_t ADC_Cal(ADC_Type *ADCx);
/***********************************************************************************************
 功能:初始化ADC模块
 形参:ADC_InitStruct: ADC初始化结构
 返回:0
 详解:0
************************************************************************************************/
void ADC_Init(ADC_InitTypeDef* ADC_InitStruct)
{
ADC_MapTypeDef *pADC_Map = (ADC_MapTypeDef*)&ADC_InitStruct->ADCxMap;
PORT_Type *ADC_PORT = NULL;
ADC_Type *ADCx = NULL;
//参数检查
assert_param(IS_ADC_PRECISION(IS_ADC_PRECISION(ADC_InitStruct->ADC_Precision)));

//找到对应的GPIO 并配置为ADC模式
if(pADC_Map->ADC_IsAnalogChl == 0) //如果是普通GPIO 的ADC通道
{
switch(pADC_Map->ADC_GPIO_Index)
{
case 0:
SIM->SCGC5 |= SIM_SCGC5_PORTA_MASK;
ADC_PORT = PORTA;
break;
case 1:
SIM->SCGC5 |= SIM_SCGC5_PORTB_MASK;
ADC_PORT = PORTB;
break;
case 2:
SIM->SCGC5 |= SIM_SCGC5_PORTC_MASK;
ADC_PORT = PORTC;
break;
case 3:
SIM->SCGC5 |= SIM_SCGC5_PORTD_MASK;
ADC_PORT = PORTD;
break;
case 4:
SIM->SCGC5 |= SIM_SCGC5_PORTE_MASK;
ADC_PORT = PORTE;
break;
default:break;
}
//配置对应引脚为ADC模式
ADC_PORT->PCR[pADC_Map->ADC_Pin_Index] &= ~PORT_PCR_MUX_MASK;
ADC_PORT->PCR[pADC_Map->ADC_Pin_Index] |= PORT_PCR_MUX(pADC_Map->ADC_Alt_Index);
}
//找出ADC端口
switch(pADC_Map->ADC_Index)
{
case 0:
SIM->SCGC6 |= SIM_SCGC6_ADC0_MASK;
//SIM->SOPT7 &= ~(SIM_SOPT7_ADC0ALTTRGEN_MASK  | SIM_SOPT7_ADC0PRETRGSEL_MASK); 
//SIM->SOPT7 = SIM_SOPT7_ADC0TRGSEL(0);
ADCx = ADC0;
break;
case 1:
SIM->SCGC3 |= SIM_SCGC3_ADC1_MASK;
//SIM->SOPT7 &= ~(SIM_SOPT7_ADC1ALTTRGEN_MASK  | SIM_SOPT7_ADC1PRETRGSEL_MASK); 
//SIM->SOPT7 = SIM_SOPT7_ADC1TRGSEL(0);
ADCx = ADC1;
break;
default:break;
}
//配置转换精度
ADCx->CFG1 &= ~(ADC_CFG1_MODE_MASK); 
ADCx->CFG1 |= ADC_CFG1_MODE(ADC_InitStruct->ADC_Precision);
//输入时钟源位BusClock
ADCx->CFG1 &= ~ADC_CFG1_ADICLK_MASK;
ADCx->CFG1 |=  ADC_CFG1_ADICLK(0); 
//快速采样
ADCx->CFG1 &= ~ADC_CFG1_ADLSMP_MASK;
//配置ADC分频 最低分频
ADCx->CFG1 &= ~ADC_CFG1_ADIV_MASK;
ADCx->CFG1 |= ADC_CFG1_ADIV(3); 
//设置 A或者B通道
ADCx->CFG2 = 0;
if(pADC_Map->ADC_IsChlAB == 0)
{
ADCx->CFG2 &= ~ADC_CFG2_MUXSEL_MASK;
}
else
{
ADCx->CFG2 |= ADC_CFG2_MUXSEL_MASK;
}
//其他杂项配置
ADCx->CFG2 |= (ADACKEN_DISABLED|ADHSC_HISPEED|ADC_CFG2_ADLSTS(ADLSTS_20));
  ADCx->CV1 = 0x1234u; 
ADCx->CV2 = 0x5678u;
ADCx->SC2 = (ACFE_DISABLED|ACFGT_GREATER|ACREN_ENABLED|DMAEN_DISABLED| ADC_SC2_REFSEL(REFSEL_EXT));
ADCx->SC3 = (CAL_OFF|ADCO_SINGLE|AVGE_ENABLED|ADC_SC3_AVGS(AVGS_32));
ADCx->PGA = (PGAEN_DISABLED|PGACHP_NOCHOP|PGALP_NORMAL|AD

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-11-29 21:53  practice\
     目录           0  2017-11-18 17:16  practice\2017.11.13\
     目录           0  2017-11-18 17:16  practice\2017.11.13\OBJ\
     文件      327308  2017-10-21 21:39  practice\2017.11.13\OBJ\adc.crf
     文件         495  2017-10-21 21:39  practice\2017.11.13\OBJ\adc.d
     文件      291748  2017-10-21 21:39  practice\2017.11.13\OBJ\adc.o
     文件      328206  2017-10-21 21:39  practice\2017.11.13\OBJ\can.crf
     文件         495  2017-10-21 21:39  practice\2017.11.13\OBJ\can.d
     文件      293332  2017-10-21 21:39  practice\2017.11.13\OBJ\can.o
     文件      323498  2017-10-21 21:39  practice\2017.11.13\OBJ\dac.crf
     文件         495  2017-10-21 21:39  practice\2017.11.13\OBJ\dac.d
     文件      289088  2017-10-21 21:39  practice\2017.11.13\OBJ\dac.o
     文件      319273  2017-10-21 21:39  practice\2017.11.13\OBJ\delay.crf
     文件         523  2017-10-21 21:39  practice\2017.11.13\OBJ\delay.d
     文件      284860  2017-10-21 21:39  practice\2017.11.13\OBJ\delay.o
     文件      325725  2017-10-21 21:39  practice\2017.11.13\OBJ\dma.crf
     文件         495  2017-10-21 21:39  practice\2017.11.13\OBJ\dma.d
     文件      290144  2017-10-21 21:39  practice\2017.11.13\OBJ\dma.o
     文件      337334  2017-10-21 21:39  practice\2017.11.13\OBJ\enet.crf
     文件         691  2017-10-21 21:39  practice\2017.11.13\OBJ\enet.d
     文件      302364  2017-10-21 21:39  practice\2017.11.13\OBJ\enet.o
     文件      320928  2017-10-21 21:39  practice\2017.11.13\OBJ\flash.crf
     文件         523  2017-10-21 21:39  practice\2017.11.13\OBJ\flash.d
     文件      285960  2017-10-21 21:39  practice\2017.11.13\OBJ\flash.o
     文件      325770  2017-10-21 21:39  practice\2017.11.13\OBJ\ftm.crf
     文件         495  2017-10-21 21:39  practice\2017.11.13\OBJ\ftm.d
     文件      292148  2017-10-21 21:39  practice\2017.11.13\OBJ\ftm.o
     文件      327253  2017-10-21 21:39  practice\2017.11.13\OBJ\gpio.crf
     文件         509  2017-10-21 21:39  practice\2017.11.13\OBJ\gpio.d
     文件      293748  2017-10-21 21:39  practice\2017.11.13\OBJ\gpio.o
     文件      325506  2017-10-21 21:39  practice\2017.11.13\OBJ\i2c.crf
............此处省略903个文件信息

评论

共有 条评论