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

📄 initsys.c

📁 ARM的系统初如化源代码,适用于LPC系列单片机
💻 C
字号:
#include "LPC210x.h"

#include "initsys.h"
#include "def.h"


extern SYSVAL sysval; 






void InitClk(void)
{
		/* 设置系统各部分时钟 */
		
    PLLCON = 1;
#if (Fpclk / (Fcclk / 4)) == 1
   VPBDIV = 0;
 #endif
#if (Fpclk / (Fcclk / 4)) == 2
     VPBDIV =2;
#endif
#if (Fpclk / (Fcclk / 4)) == 4
    VPBDIV =1;
#endif

#if (Fcco / Fcclk) == 2
    PLLCFG = ((Fcclk / Fosc) - 1) | (0 << 5);
#endif
#if (Fcco / Fcclk) == 4
    PLLCFG = ((Fcclk / Fosc) - 1) | (1 << 5);
#endif
#if (Fcco / Fcclk) == 8
    PLLCFG = ((Fcclk / Fosc) - 1) | (2 << 5);
#endif
#if (Fcco / Fcclk) == 16
    PLLCFG = ((Fcclk / Fosc) - 1) | (3 << 5);
#endif
    PLLFEED = 0xaa;
    PLLFEED = 0x55;
    //while((PLLSTAT & (1 << 10)) == 0);
    PLLCON = 3;
    PLLFEED = 0xaa;
    PLLFEED = 0x55;
    
    /* 设置存储器加速模块 */
    /* Set memory accelerater module*/
    MAMCR = 0;
#if Fcclk < 20000000
    MAMTIM = 1;
#else
#if Fcclk < 40000000
    MAMTIM = 2;
#else
    MAMTIM = 3;
#endif
#endif
    MAMCR = 2;
    
  
 
    VICIntEnClr = 0xffffffff;
    VICVectAddr = 0;
    VICIntSelect = 0;

}

 
 
void InitGpio(void)
{

 
 PINSEL0=0x00c00005;//  P0.00  TXD 1:0 =01  P0.01  RXD  3:2 =01  P0.10 AIN3  21:20=11 P0.11 AIN4  23:22=11    
 
 PINSEL1=0x00000000;   


}

void P24_P31_Out(void){

 IODIR =0xffE6ffbf;   //31 30 29 28 

/// 31 30 29 28   27 26 25 24   23 22 21 20   19 18 17 16   15 14 13 12   11 10 9 8    7 6 5 4    3 2 1 0 
/// 1  1   1  1    1  1  1  1    1  1  1  0   0  1   1  0    1  1  1 1     1  1 1 1    1 0 1 1    1 1 1 1 
}

void P24_P31_In(void){


 IODIR =0x00E6ffbf;   //31 30 29 28 

/// 31 30 29 28   27 26 25 24   23 22 21 20   19 18 17 16   15 14 13 12   11 10 9 8    7 6 5 4    3 2 1 0 
/// 0  0   0  0    0  0  0  0    1  1  1  0   0  1   1  0    1  1  1 1     1  1 1 1    1 0 1 1    1 1 1 1 

}


void FIQ_Exception(void)
{



}

void InitVal(void)
{
sysval.standard_row_width=8;
sysval.standard_leftwidth=0 ;          //paper left width  
sysval.standard_rightwidth=0;
sysval.standard_printwidth=384  ;
sysval.printmax=384;
sysval.chinasize=0 ;   //china 16X16	 =00 is no double 0x77 x,y is  64 double  0x10 x is double  0x01 is y double 	
sysval.chinacharleft=0;
sysval.chinacharright=0;
sysval.blackmark=DISABLE  ;// blackprint=ENABLE ,have black printer
sysval.hexprint= DISABLE ;//  hexprint=ENABLE,have hex print 
sysval.keyenable=ENABLE;  // default is key to feed paper 
sysval.chinaunderline=0;  //0,48 is no china  underline ,1,49 ,is one dot china underline  2,50  is two dot underlinechar 
sysval.bw_invert=DISABLE;			//black white invert print
sysval.lastadddot=0;
sysval.softreset=DISABLE;


}

⌨️ 快捷键说明

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