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

📄 lpc_syscontrol.h

📁 NXP LPC系列AMR7的开发程序源码(LCD
💻 H
字号:
/************************************************************************* * *    Used with ICCARM and AARM. * *    (c) Copyright IAR Systems 2003 * *    File name   : LPC_SysControl.h *    Description : * *    History : *    1. Date:  August 17, 2004 *       Author: Shawn Zhang *       Description: Create the basic function * *    2. Date        : Oct 7, 2004 *       Author      : Stanimir Bonev *       Description : Modify some function and interface * *    $Revision: 14946 $ **************************************************************************/#include "includes.h"#ifndef __LPC_SYSCONTROL_H#define __LPC_SYSCONTROL_H/* Fosc range: 10MHz ~ 25MHz */#define Fosc_MIN            10000000L#define Fosc_MAX            25000000L/* Fcclk range: 10MHz ~ MCU allowed frequency */#define Fcclk_MIN           10000000L#define Fcclk_MAX           60000000L/* Fcco range: 156MHz ~ 320MHz */#define Fcco_MIN            156000000L#define Fcco_MAX            320000000L#define PLLFEED_DATA1       0xAA#define PLLFEED_DATA2       0x55/* PLL PLLCON register bit descriptions */#define PLLCON_ENABLE_BIT   0#define PLLCON_CONNECT_BIT  1/* PLL PLLSTAT register bit descriptions */#define PLLSTAT_ENABLE_BIT  8#define PLLSTAT_CONNECT_BIT 9#define PLLSTAT_LOCK_BIT    10/* PM Peripheral Type */#define PC_TIMER0           0x2#define PC_TIMER1           0x4#define PC_UART0            0x8#define PC_UART1            0x10#define PC_PWM0             0x20#define PC_I2C              0x80#define PC_SPI0             0x100#define PC_RTC              0x200// External interrupttypedef enum {    EXTINT0 = 0,    EXTINT1,    EXTINT2,    USBWAKE,    BODWAKE,    RTCWAKE,} LPC_SysControl_ExtInt_Channel_t;// Memory Mapping Control Modetypedef enum {    BOOT_LOADER = 0,    USER_FLASH,    USER_RAM} LPC_SysControl_RemapMode_t;// Memory Accelerator Module Operating Modetypedef enum {    VPBDIV4 = 0,  // Pclk = 1/4 Pcclk    VPBDIV1,      // Pclk = Pcclk    VPBDIV2       // Pclk = 1/2 Pcclk} LPC_SysControl_VPBDiv_t;// Memory Accelerator Module Operating Modetypedef enum {    MAM_PARTIALLY = 1,    MAM_FULL} LPC_SysControl_MAMMode_t;// Power Manager Modetypedef enum {    PM_STANDARD = 0,    PM_IDLE,    PM_POWERDOWN} LPC_SysControl_PMMode_t;// External interrupt trigger typetypedef enum {    LEVEL_LOW = 0,    LEVEL_HIGH,    EDGE_RISING,    EDGE_FALLING} LPC_SysControl_EXTINTTriggerType_t;// MAM fetch cycles// SysClock<20MHz: MAMTIM can be 001// 20MHz<SysClock<40MHz: suggest 2 cycle// 40MHz<SysClock: suggest 3 cycletypedef enum {    MAMCycle1 = 1,    MAMCycle2,    MAMCycle3,    MAMCycle4,    MAMCycle5,    MAMCycle6,    MAMCycle7} LPC_SysControl_MAMCycle_t;typedef struct {  LPC_SysControl_MAMMode_t Mode;  LPC_SysControl_MAMCycle_t Cycle;} LPC_SysControl_MAMConfig_t;typedef struct {  unsigned long Fosc;   // Crystal Oscillator Frequency  unsigned long Fcclk;    // PLL output frequency (also processor clock frequency)  unsigned long Fpclk;    // Peripheral frequency  LPC_SysControl_RemapMode_t RemapMode;  LPC_SysControl_VPBDiv_t VPBDivider;  bool MAMEnable;  LPC_SysControl_MAMConfig_t MAMConfig;} LPC_Syscontrol_Config_t;// Declare API functionsint SYS_Init (unsigned long Fosc, unsigned long Fcclk,                LPC_SysControl_VPBDiv_t VPBDivider,                LPC_SysControl_RemapMode_t RemapMode,                unsigned long PortDir0, unsigned long Port0,                unsigned long PortDir1, unsigned long Port1);unsigned int SYS_GetFpclk (void);int PM_SetMode (LPC_SysControl_PMMode_t Mode);int PM_OpenPeripheral (unsigned int DevType);int PM_ClosePeripheral (unsigned int DevType);int EXTINT_Init (LPC_SysControl_ExtInt_Channel_t ExtIntNum,                          bool WakeupEnable);#endif //__LPC_SYSCONTROL_H

⌨️ 快捷键说明

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