GPIO.c 2.94 KB
Newer Older
崔立宝's avatar
崔立宝 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
/******************************************************************************
  文 件 名:GPIO.c
  功能描述:GPIO初始化库文件
  作    者:张暄
  版    本:V1.0
  日    期:2016.11.1
 ******************************************************************************/

#include "GPIO.h"

/******************************************************************************
  函数名:GPIO_Init
  功  能:GPIO初始化,设置GPIO输入/输出方向,初始值及上/下拉
  参  数:无
  返回值:无
 ******************************************************************************/
void GPIO_Init(void)
{
	//PORTA
	DDRA         = 0xF6;        //方向控制寄存器
	PORTA        = 0x70;        //数据寄存器
	PUCR_PUPAE   = 0;           //上拉电阻关闭
	//RDRIV_RDPA = 0;	          //满功率驱动(默认)

	//PORTB         
	DDRB         = 0xFE;        //方向控制寄存器
	PORTB        = 0x0C;        //数据寄存器 
	PUCR_PUPBE   = 0;           //上拉电阻关闭
	//RDRIV_RDPB = 0;           //满功率驱动(默认)
	//PUCR_BKPUE = 1;    	      //BKGD使能上拉电阻(默认使能)

	// PORTT
	DDRT         = 0x38;        //方向控制寄存器
	PTT          = 0x18;        //数据寄存器
	PERT         = 0x00;        //上下拉使能寄存器
	PPST         = 0x00;        //上下拉选择寄存器

	// PORTS
	DDRS         = 0xEA;        //方向控制寄存器     
	PTS          = 0x00;        //数据寄存器
	PERS         = 0x00;        //上下拉使能寄存器   
	PPSS         = 0x00;        //上下拉选择寄存器

	// PORTP
	DDRP         = 0xFC;        //方向控制寄存器     
	PTP          = 0x00;        //数据寄存器 
	PERP         = 0x03;        //上下拉使能寄存器   
	PPSP         = 0x00;        //上下拉选择寄存器

	// PORTH               
	DDRH         = 0xCF;        //方向控制寄存器     
	PTH          = 0x00;        //数据寄存器
	PERH         = 0x00;        //上下拉使能寄存器
	PPSH         = 0x00;        //上下拉选择寄存器	

	// PT1AD
	DDR1AD       = 0xA3;        //方向控制寄存器
	PT1AD        = 0x00;       //数据寄存器         
	PER1AD       = 0x18;       //上拉使能寄存器

	// PORTR
	DDRR         = 0xFF;        //方向控制寄存器     
	PTR          = 0x10;        //数据寄存器
	PERR         = 0x00;        //上下拉使能寄存器   
	PPSR         = 0x00;        //上下拉选择寄存器

	// PORTU
	DDRU         = 0xFF;        //方向控制寄存器
	PTU          = 0x00;        //数据寄存器
	PERU         = 0x00;        //上下拉使能寄存器
	PPSU         = 0x00;        //上下拉选择寄存器

	// PORTV
	DDRV         = 0xFF;        //方向控制寄存器
	PTV          = 0x00;        //数据寄存器
	PERV         = 0x00;        //上下拉使能寄存器
	PPSV         = 0x00;        //上下拉选择寄存器
	
	// PORTM
 	DDRM         = 0xFF;        //方向控制寄存器     
	PTM          = 0x00;        //数据寄存器
	PERM         = 0x00;        //上下拉使能寄存器
	PPSM         = 0x00;        //上下拉选择寄存器  

	// PORTAD0                  
  DDR0AD       = 0xF0;        //方向控制寄存器     
	PT0AD        = 0x00;        //数据寄存器
	PER0AD       = 0x00;        //上拉使能寄存器
	
  TFT_nRST     =  0;          //reset常态下拉
}