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

📄 lpc2300pincfg.c

📁 LPC2300系列的ARM7单片机上FAT文件系统源代码
💻 C
字号:
/****************************************Copyright (c) ***************************************************
**                         Guangzhou ZHIYUAN electronics Co.,LTD.                               
**                                     
**                               http://www.embedtools.com
**
**--File Info---------------------------------------------------------------------------------------------
**  File name          : LPC2300PinCfg.h
**  Last modified Date :
**  Last Version       : V1.0
**  Descriptions       : LPC2300系列CPU引脚连接与模式配置
**
**--------------------------------------------------------------------------------------------------------
** Created by    : LJM
** Created date  : 2007-06-09
** Version       : V1.0
** Descriptions  :
**
**--------------------------------------------------------------------------------------------------------
** Modified by   : LiuWeiyun
** Modified date : 2007-11-29
** Version		 : v1.1
** Descriptions	 : 修改为LPC2378专用引脚配置
**
**--------------------------------------------------------------------------------------------------------
** Modified by   :
** Modified date :
** Version		 :
** Descriptions	 :
**
*********************************************************************************************************/
#include "main.h"

/*********************************************************************************************************
** 函数名称: void PinInit(void)
** 函数功能: 引脚初始化函数
**           将初始化所有对用户开发的引脚的配置,完成引脚连接,上下拉电阻设置
**           P0、P1口设置为低速访问模式以兼容老器件
** 入口参数: 无
** 返 回 值: 无
** 说    明: 需事先在 LPC2300PinCfg.h 头文件中选择好相应管脚的功能
*********************************************************************************************************/
void PinInit (void)
{

    /*
     * 引脚连接配置
     */
    //P0.00 -- P0.15
	PINSEL0  = (P0_15_FNUC <<30)|(P0_14_FNUC <<28)|(P0_13_FNUC <<26)|(P0_12_FNUC <<24)|(P0_11_FNUC <<22)| 
	           (P0_10_FNUC <<20)|(P0_09_FNUC <<18)|(P0_08_FNUC <<16)|(P0_07_FNUC <<14)|(P0_06_FNUC <<12)| 
	           (P0_05_FNUC <<10)|(P0_04_FNUC << 8)|(P0_03_FNUC << 6)|(P0_02_FNUC << 4)|(P0_01_FNUC << 2)| P0_00_FNUC;

	//P0.16 -- P0.31
	PINSEL1  = (PINSEL1 & ((0xf << 22) | (0xf << 26))) |
	           (P0_31_FNUC <<30)|
	           (P0_26_FNUC <<20)|(P0_25_FNUC <<18)|(P0_24_FNUC <<16)|(P0_23_FNUC <<14)|(P0_22_FNUC <<12)| 
	           (P0_21_FNUC <<10)|(P0_20_FNUC << 8)|(P0_19_FNUC << 6)|(P0_18_FNUC << 4)|(P0_17_FNUC << 2)| P0_16_FNUC;

	//P1.16 -- P1.31
	PINSEL3  = (PINSEL3 & (0x3f | (3 << 28))) |
	           (P1_31_FNUC <<30)|(P1_29_FNUC <<26)|(P1_28_FNUC <<24)|(P1_27_FNUC <<22)| 
	           (P1_26_FNUC <<20)|(P1_25_FNUC <<18)|(P1_24_FNUC <<16)|(P1_23_FNUC <<14)|(P1_22_FNUC <<12)| 
	           (P1_21_FNUC <<10)|(P1_20_FNUC << 8)|(P1_19_FNUC << 6);

	//P2.00 -- P2.15        
	PINSEL4  = (P2_13_FNUC <<26)|(P2_12_FNUC <<24)|(P2_11_FNUC <<22)| 
	           (P2_10_FNUC <<20)|(P2_09_FNUC <<18)|(P2_08_FNUC <<16)|(P2_07_FNUC <<14)|(P2_06_FNUC <<12)| 
	           (P2_05_FNUC <<10)|(P2_04_FNUC << 8)|(P2_03_FNUC << 6)|(P2_02_FNUC << 4)|(P2_01_FNUC << 2)| P2_00_FNUC;
	
	//P3.16 -- P3.31
	PINSEL7  = (P3_26_FNUC <<20)|(P3_25_FNUC <<18)|(P3_24_FNUC <<16)|(P3_23_FNUC <<14);

	//P4.16 -- P4.31
	PINSEL9  = (PINSEL9 & ~(0xf << 24)) |
	           ((P4_29_FNUC <<26) | (P4_28_FNUC <<24));

	PINSEL10 = ETM_DISABLE;           //禁止ETM接口功能
#if 1
	/*
	 * 引脚内部上下拉电阻配置
	 */
    //P0
    PINMODE0 = (P0_15_MODE <<30)|(P0_14_MODE <<28)|(P0_13_MODE <<26)|(P0_12_MODE <<24)|(P0_11_MODE <<22)| 
	           (P0_10_MODE <<20)|(P0_09_MODE <<18)|(P0_08_MODE <<16)|(P0_07_MODE <<14)|(P0_06_MODE <<12)| 
	           (P0_05_MODE <<10)|(P0_04_MODE << 8)|(P0_03_MODE << 6)|(P0_02_MODE << 4)|(P0_01_MODE << 2)| P0_00_MODE;
	
    PINMODE1 = (P0_31_MODE <<30)|
               (P0_26_MODE <<20)|(P0_25_MODE <<18)|(P0_24_MODE <<16)|(P0_23_MODE <<14)|(P0_22_MODE <<12)| 
	           (P0_21_MODE <<10)|(P0_20_MODE << 8)|(P0_19_MODE << 6)|(P0_18_MODE << 4)|(P0_17_MODE << 2)| P0_16_MODE;

	//P1        
    PINMODE3 = (P1_31_MODE <<30)|(P1_30_MODE <<28)|(P1_29_MODE <<26)|(P1_28_MODE <<24)|(P1_27_MODE <<22)| 
	           (P1_26_MODE <<20)|(P1_25_MODE <<18)|(P1_24_MODE <<16)|(P1_23_MODE <<14)|(P1_22_MODE <<12)| 
	           (P1_21_MODE <<10)|(P1_20_MODE << 8)|(P1_19_MODE << 6)|(P1_18_MODE << 4);

    //P2
    PINMODE4 = (P2_13_MODE <<26)|(P2_12_MODE <<24)|(P2_11_MODE <<22)| 
	           (P2_10_MODE <<20)|(P2_09_MODE <<18)|(P2_08_MODE <<16)|(P2_07_MODE <<14)|(P2_06_MODE <<12)| 
	           (P2_05_MODE <<10)|(P2_04_MODE << 8)|(P2_03_MODE << 6)|(P2_02_MODE << 4)|(P2_01_MODE << 2)| P2_00_MODE;

    //P3
    PINMODE7 = (P3_27_MODE <<22)| 
	           (P3_26_MODE <<20)|(P3_25_MODE <<18)|(P3_24_MODE <<16)|(P3_23_MODE <<14);
    
    //P4
    PINMODE9 = (P4_29_MODE <<26)|(P4_28_MODE <<24);
#endif

    /*
     * 引脚访问速度配置
     */
    SCS &= ~0x01;         //P0、P1默认为低速访问模式,以兼容老器件
    
    FIO0MASK =0x00;       //不屏蔽引脚高速功能
    FIO1MASK =0x00;
    FIO2MASK =0x00;
    FIO3MASK =0x00;
    FIO4MASK =0x00;
}

/*********************************************************************************************************
    End Of File
*********************************************************************************************************/

⌨️ 快捷键说明

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