initialise.c

来自「里面给出了ATmega103单片机编程的C语言实例程序」· C语言 代码 · 共 72 行

C
72
字号
/* ATmega103 initiailise.c file 

   Author : Robert Stuart 
   Company : PDL Industries Ltd
   Date of Creation : 21 July 1999
   Tested : not yet
 
   Function :
*/

/* include */
#include "initialise.h"

void AVRInitialise( void )
{
  DetermineCauseOfReset();
  
  RuntimeInitialise();    	    	/* initalise these first to start protection */

  InitPort();

  InitADC();

  CRCInitialise();

  RTCInitialise();
  
  LCDInitialise();

  SerialInitialise();
  
  InitWatchdog();
}

void DetermineCauseOfReset( void )
{
  SystemStatus = 0x00;
  
  if ( !CHECKBIT( MCUSR, BIT(EXTRF) ) &&
       !CHECKBIT( MCUSR, BIT(PORF) ) )
    SETBIT( SystemStatus, FAULT_WATCHDOG_RESET );/* watchdog reset */
  
  MCUSR = BIT(EXTRF) | BIT(PORF);	/* set reset source indentification */    			
}

void InitADC( void )
{
  ACSR = BIT(ACD); 	     	    	/* comparator and input capture disabled */    	      
  ADMUX = 0;	
  ADCSR = BIT(ADEN) | BIT(ADPS2); 
  ADCSR |= BIT(ADSC); 		
  while ( ADCSR & BIT(ADSC) );	
}

void InitWatchdog( void )
{
  WDTCR = BIT(WDP1) | BIT(WDP0);  
  WDTCR |= BIT(WDE);	 
}

void InitPort( void )
{
  MCUCR = 0x00;
  
  PORTD = INITIALISE_PORTD;
  DDRD = CONFIGURE_PORTD; 
  
  PORTE = INITIALISE_PORTE;
  DDRE = CONFIGURE_PORTE; 
}

⌨️ 快捷键说明

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