hal.h

来自「是基于单片机的温度控制程序」· C头文件 代码 · 共 108 行

H
108
字号
/*
****************************************************************************************************
普通IO口处理方法,以下语句在一般应用中不需改动
****************************************************************************************************
*/
#include    ".\HAL_PORTB.h"
#include    ".\HAL_PORTC.h"
#include    ".\HAL_PORTD.h"
/*
****************************************************************************************************
后包含的驱动层程序,以下语句在一般应用中不需改动
****************************************************************************************************
*/
#ifdef Per_PORTB_PCINT
    	#include  "..\driver\Mega48_88_168\PORTB_PCINT.h"    
#endif
#ifdef Per_PORTC_PCINT
    	#include  "..\driver\Mega48_88_168\PORTC_PCINT.h"    
#endif
#ifdef Per_PORTD_PCINT
    	#include  "..\driver\Mega48_88_168\PORTD_PCINT.h"    
#endif
#ifdef Per_SPI
	#include "..\driver\Mega48_88_168\SPI.h"		//包含SPI头文件
#endif
/*
****************************************************************************************************
目标板初始化
****************************************************************************************************
*/
void Target_Init(void)
{
	/*
	****************************************************************************************************
	打开全局中断
	****************************************************************************************************
	*/
	OpenInterrupt();	
	/*
	****************************************************************************************************
	初始化芯片内部设备
	****************************************************************************************************
	*/				
        #ifdef Per_Uart0
            	InitUart0();				//初始化串口0
        #endif
        #ifdef Per_Timer0			
            	InitTimer0();				//初始化定时器0		
        #endif
        #ifdef Per_Timer1 
            	InitTimer1();				//初始化定时器1
        #endif
        #ifdef Per_Timer2
            	InitTimer2();				//初始化定时器2	
        #endif
	#ifdef Per_SPI
		InitSPI();				//初始化SPI
	#endif
	#ifdef Per_INT0
		InitINT0();				//初始化INT0
	#endif
	#ifdef Per_INT1
		InitINT1();				//初始化INT1
	#endif
	#ifdef Per_PORTB_PCINT
            	InitPORTB_PCINT();                 	//初始化端口B电平变化中断
        #endif
        #ifdef Per_PORTC_PCINT
            	InitPORTC_PCINT();                  	//初始化端口C电平变化中断
        #endif
        #ifdef Per_PORTD_PCINT
            	InitPORTD_PCINT();                  	//初始化端口D电平变化中断
	#endif
	#ifdef Per_WDT_15MS
		wdt_enable(WDTO_15MS);			//初始化看门狗为15ms		
	#endif
	#ifdef Per_WDT_30MS
		wdt_enable(WDTO_30MS);			//初始化看门狗为30ms		
	#endif
	#ifdef Per_WDT_60MS
		wdt_enable(WDTO_60MS);			//初始化看门狗为60ms		
	#endif
	#ifdef Per_WDT_120MS
		wdt_enable(WDTO_120MS);			//初始化看门狗为120ms		
	#endif
	#ifdef Per_WDT_250MS
		wdt_enable(WDTO_250MS);			//初始化看门狗为250ms		
	#endif
	#ifdef Per_WDT_500MS
		wdt_enable(WDTO_500MS);			//初始化看门狗为500ms		
	#endif
	#ifdef Per_WDT_1S
		wdt_enable(WDTO_1S);			//初始化看门狗为1s		
	#endif
	#ifdef Per_WDT_2S
		wdt_enable(WDTO_2S);			//初始化看门狗为2s		
	#endif
	#ifdef Per_WDT_4S
		wdt_enable(WDTO_4S);			//初始化看门狗为4s		
	#endif
	#ifdef Per_WDT_8S
		wdt_enable(WDTO_8S);			//初始化看门狗为8s		
	#endif		
}
 


⌨️ 快捷键说明

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