📄 app_boardanalogval.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 + -