system.c

来自「dsp tmslf2407a 汇编,c的原代码,包括i2c,scitimer,f」· C语言 代码 · 共 90 行

C
90
字号
#include "typedef.h"       
#include "f2407regs_c.h" 
#include "global.h"  

uchar globalLevel;
     
extern uchar ledVlu;
extern uchar bPowerUp;
extern uchar deviceAddr;
extern uint cfgdata[128];  
extern pcdata[Len]; 
     
void interrupt nothing();
void initSystem();
void inline disable();
void inline enable();    
void systemDelay(uchar n);

void interrupt nothing()
{
	asm(" clrc INTM");
} 
void initSystem()
{    
	asm(" setc INTM");
	asm(" clrc SXM");
	asm(" clrc OVM");
//	asm(" clrc CNF");        
	
	SCSR1 = 0x81fe;	/* clkin = 10M,clkout = 40M*/ 
	IMR = 0x00;
	IFR = 0xFFFF;
	
	LB_0;UB_0;	// high,low byte selected
	A15_0;A16_0;A17_0;CS_RAM_1;cs_flash_1;//added after debugging
   	Check_SST_39VF400A();	//added after debugging 
   	readAllCfg();       	//added after debugging	
   	globalLevel = cfgdata[25] >> 8;
   	if( (cfgdata[80]&0xff) == 0xAA )	//add watchdog
   	{
   		WDCR = 0xaf;    		// enable watchdog 
		SCSR2 |= 0x20 ;	
   	}
   	else					//no watchdog
   	{
   		SCSR2 |= 0x00;			//WD OVERRIDE = 1 
		WDCR = 0xe8;			// WDDIS = 1,clr wd,disable watchdog  
   	}
   	
   	externRam_init( );
	feedWatchDog();
	deviceAddr = readAddr( );//读设备地址 
	   	
   	initIo( );
	initTimer3();    
	simInit();
	feedWatchDog();
	serialPortInit();	 
	feedWatchDog();
	setX9c503ToLowest();
	Pcf8583IoInit();//i2c 
	ledOptInit();    // 273_clk,273_clr as ioport 
	bPowerUp = 1;
	ledVlu = 0x00;	/* close 5 leds,opt out disable*/
   	LedOptOut();
	initRfPara();  
	enable();
//	judgePower();
}   
void inline disable()
{
	asm(" setc INTM");
}           
void inline enable()
{                     
	asm(" clrc INTM");
}

void systemDelay(uchar n) 
{
	uchar i,j;
	for(i=0;i<n;i++)	
	{   
		feedWatchDog();
		for(j=0;j<10000;j++)
		{
			j=j;
		}		
	}
}    

⌨️ 快捷键说明

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