⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 app_boardanalogval.c

📁 BCM 控制demo源代码
💻 C
字号:
/*******************************************************************************/
/**
Copyright (c) 2007 Freescale Semiconductor
\file       app_boardAnalogVal.c
\brief      Convert MSDI Board II analog values, eSwitch current)  
\author     Freescale Semiconductor
\author     rc574c
\version    0.1
\date       May/2007
*/
/*******************************************************************************/

/** S12X derivative information */ 
#include <MC9S12XEP100.h> 

#include "app_boardAnalogVal.h"
#include "des_MC33972.h"
#include "lle_ADC.h"
#include "lle_TIME.h"
#include "lle_GPIO.h"

// FreeMASTER analog values variables      
extern UINT16  fm_analog1, fm_analog2, fm_analog3, fm_analog4, fm_analog5; 

/*******************************************************************************/
/**
* \brief    Convert MSDI Board II analog values (voltage1/2,
            Light/Temperature sensor, pushbuttons)
* \author   rc574c
* \param    none
* \return   void
*/
void app_boardMSDIAnalogVal(void)
{
	UINT16 analogVal;
	
	DISABLE_INTERRUPTS();
	
	// Analog Voltage I
	// Select AMUX channel SP2 
	des_MC33972_Set_Analog_Channel(MSDI_II, MSDI_AN_SP2, MSDI_AN_HiImpedance);
	// Wait 100us for analog voltage settle
  	lle_Delay100us();
	// Run ATD to convert value  
	fm_analog1 = lle_ADC(AMUX_MC33972_II);
	
	
	// Analog Voltage II
	// Select AMUX channel SP3 
	des_MC33972_Set_Analog_Channel(MSDI_II, MSDI_AN_SP3, MSDI_AN_HiImpedance); 
	// Wait 100us for analog voltage settle
	lle_Delay100us();
	// Run ATD to convert value 
	fm_analog2 = lle_ADC(AMUX_MC33972_II);


	// Temperature sensor
	// Select AMUX channel SP1 
	des_MC33972_Set_Analog_Channel(MSDI_II, MSDI_AN_SP1, MSDI_AN_HiImpedance);	 
	// Wait 100us for analog voltage settle
	lle_Delay100us();
	// Run ATD to convert value 
	fm_analog3 = lle_ADC(AMUX_MC33972_II);
	
	
	// Visible Light sensor
	// Select AMUX channel SP4 
	des_MC33972_Set_Analog_Channel(MSDI_II, MSDI_AN_SP4, MSDI_AN_HiImpedance); 
	// Wait 100us for analog voltage settle
	lle_Delay100us();
	// Run ATD to convert value 
    fm_analog4 = lle_ADC(AMUX_MC33972_II);
	
	
	// MSDI board II pushbuttons
	// Select AMUX channel SP0 
	des_MC33972_Set_Analog_Channel(MSDI_II, MSDI_AN_SP0, MSDI_AN_HiImpedance); 
	// Wait 100us for analog voltage settle
	lle_Delay100us();
	// Run ATD to convert value 	
	analogVal = lle_ADC(AMUX_MC33972_II);
	
	// Select pushbutton
	if (analogVal > PB1_THR)
	{
		fm_analog5 = 1;
	}
  	else if ((PB1_THR > analogVal) && (analogVal > PB2_THR))
	{
		fm_analog5 = 2;
	} 
	else if ((PB2_THR > analogVal) && (analogVal > PB3_THR))
	{
		fm_analog5 = 3;
	}  
	else
  	{
		fm_analog5 = 0;
	}       
	
	ENABLE_INTERRUPTS();
}

/*******************************************************************************/
/**
* \brief    Convert eSwitch current
* \author   rc574c
* \param    none
* \return   void
*/
void app_boardESwitchCurrent(void)
{
	// MC15XS3400 HS0
	// MC15XS3400 HS1
	// MC15XS3400 HS2
	// MC15XS3400 HS3
	
	
	// MC35XS3400 HS0
	// MC35XS3400 HS1
	// MC35XS3400 HS2
	// MC35XS3400 HS3
	
	// MC10XS3412 HS0
	// MC10XS3412 HS1
	// MC10XS3412 HS2
	// MC10XS3412 HS3
}

/*******************************************************************************/
/**
* \brief    Convert MSDI Board II analog values, eSwitch current
* \author   rc574c
* \param    none
* \return   void
*/
void app_boardAnalogVal(void)
{
	app_boardMSDIAnalogVal();
	app_boardESwitchCurrent();	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -