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

📄 app_boardinit.c

📁 BCM 控制demo源代码
💻 C
字号:
/*******************************************************************************/
/**
Copyright (c) 2007 Freescale Semiconductor
\file       app_boardInit.c
\brief      Initialize main board devices  
\author     Freescale Semiconductor
\author     rc574c
\version    0.2
\date       December/2007
*/
/*******************************************************************************/

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

#include "app_boardInit.h"
#include "des_MC33661.h"
#include "des_MC33742.h"
#include "des_MC33972.h"
#include "des_MC33902.h"
#include "des_MC33887.h"
#include "des_MC33879.h"
#include "des_MC15XS3400.h"
#include "des_MC35XS3400.h"
#include "des_MC10XS3412.h"
#include "lle_GPIO.h"
#include "lle_TIME.h"
#include "lle_ADC.h"
#include "lle_SPI.h" 
#include "lle_Cpu.h"
#include "lle_EEEPROM.h"
#include "lle_XGPWM.h"

// SBC MC33742 wake-up source
UINT8 sbcStat; 

/*******************************************************************************/
/**
* \brief    Init MCU peripherals
* \author   rc574c
* \param    none
* \return   void
*/
void app_initMCUPeriph(void)
{	
    // Generate delay to ensure, that board power supply is in limits 
	lle_Delay4ms(); 
		     
    lle_Init_XOSC();    /* Clock source: PLL based on external oscillator */
    
    lle_CPU_Init();     /* Core settings */
              
	lle_SetupPINS();    /* GPIO */    
                                                         
    lle_EEE_Init();     /* Emulated EEPROM */
      
    lle_Init_RTI(RTI_50ms);     /* Real time interrupt */
             
    lle_SPI_Init();     /* Serial peripheral interface */
          
    lle_Init_ADC();     /* Analog to digital converter  */
      
    lle_Init_SCI();     /* Serial communications interface used for FreeMASTER */
			       
    lle_Init_PWM();     /* XGATE - PWM */
        
    lle_Init_PIT();     /* Periodic interrupt timer used for PWM generation */
    
    lle_Interrupts_Init();  /* Interrupts */	
}


/*******************************************************************************/
/**
* \brief    Initialize main board devices 
* \author   rc574c
* \param    none
* \return   void
*/
void app_initAPDDevices(void)
{           
    /* Generate delay (3.4ms at least) to ensure, that MC33742 is in 
    the normal request mode */
    lle_Delay4ms();	    
    
    // Read MC33742 WUR register to recognize potential source of wake-up 	
    sbcStat = des_MC33742_Read(SBC_WUR); 
	  
    /* Set SBC in normal mode */
    des_MC33742_SetMode(SBC_NORMAL);  
           		
    // MC33742 initial configuration
    des_MC33742_Config();
	  
	  	              
    // MC15XS3400 - eSwitch 
    des_MC15XS3400_SetMode(XS_NORMAL);
    des_MC15XS3400_Config();
		
    // MC35XS3400 - eSwitch
    des_MC35XS3400_SetMode(XS_NORMAL);
    des_MC35XS3400_Config(); 

    // MC10XS3412 - eSwitch
    des_MC10XS3412_SetMode(XS_NORMAL);
    des_MC10XS3412_Config();

    // MC33879 - COSS Lite 
    des_MC33879_SetMode(COSS_NORMAL);
    des_MC33879_Config();
        

  	// MC33972 I - MSDI -> MSDI Board I connected - pushbuttons
    des_MC33972_Config(MSDI_I);
    
    // MC33972 II - MSDI -> MSDI Board II connected - analog voltage sources
    des_MC33972_Config(MSDI_II);

    // MC33887 - Door Lock H-bridge
    des_MC33887_Config(); 
          
        
    // MC33902 - CAN0, CAN1, CAN2, CAN4 in normal mode 
    des_MC33902_SetMode(HSCAN_NORMAL);
    	
    // MC33661 - LIN2, LIN3, LIN4, LIN5 in normal mode
    des_MC33661_SetMode(LIN_NORMAL);
}

/*******************************************************************************/

⌨️ 快捷键说明

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