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 + -
显示快捷键?