SystemObj::SystemObj(void)<br />{<br /> __disable_interrupt();//关中断<br /> SystemInit();//系统初始化<br />}<br /><br />void SystemObj::SystemInit(void)<br />{<br /> CpuInit();//<br /> PllInit();//PLL初始化<br /> EintInit();<br />/*--------------------------------------------------------<br /> 注意以下2个变量的作用域的不同<br />--------------------------------------------------------*/ <br /> if (::SystemRamTest != 0x55aa) {//全局变量SystemRamTest<br /> ::SystemRamTest = 0x55aa;//改写全局变量<br /> }<br /> if (SystemRamTest != 0x55aa) {//类成员变量SystemRamTest<br /> SystemRamTest = 0x55aa;//改写类成员变量<br /> }<br />}<br /><br />void SystemObj::CpuInit(void)<br />{<br /> SREGs.IMR.Regs = 0x0000;//禁止所有可屏蔽中断<br /> SREGs.IFR.Regs = 0xffff;//清除中断标志<br />//设置0x0080为中断向量表首址,在第2个128页内。<br /> SREGs.PMST.Regs = (0x01 << PMST_IPTR) | (1 << PMST_MP_MC) | (1 << PMST_OVLY);<br />// SREGs.PMST |= (1 << PMST_DROM);//数据可const. <br />/*---------------------------------------------------------------------------<br />若:设置0x0100为中断向量表首址,在第3个128页内。<br />则:*.cmd文件应该改为:<br /> PAGE 0: VECS: origin=0x0100, length=0x66<br />则:<br /> SREGs.PMST = (0x02 << PMST_IPTR) | (1 << PMST_MP_MC) | (1 << PMST_OVLY);<br />----------------------------------------------------------------------------*/<br />// SREGs.SWWSR = 0x7f09;<br />// SREGs.SWWSR = 0x3009;<br /> SREGs.SWWSR = 0x3fff;<br /> SREGs.SWCR = 0;<br />// _delay_loop_(10);<br />}<br /><br />void SystemObj::PllInit(void)<br />{<br />volatile unsigned int start;<br /> do {<br /> SREGs.CLKMD.Regs = 0;<br /> __nop(); <br /> }<br /> while(SREGs.CLKMD.Bits.PLLSTATUS);<br /> SREGs.CLKMD.Regs = (9 << CLKMD_PLLMUL) | (30 << CLKMD_PLLCOUNT) | (1 << CLKMD_PLLONOFF) | (1 << CLKMD_PLLNDIV) | (1 << CLKMD_PLLSTATUS);//100M<br /> for (start = 0; start < 10000; start ++);//等待外设上电复位正常结束<br />}<br /><br />void SystemObj::EintInit(void)<br />{<br /> SREGs.IMR.Bits.INT0 = 1;//允许INT0中断<br />}<br /><br />void SystemObj::WatchDog(void)<br />{<br /> SREGs.McBSPADDR1.SPSA = PCR;<br /> SREGs.McBSPADDR1.SPSD.PCR_Regs ^= (1 << PCR_DX_STAT);//喂狗信号取反<br />}<br /> <br /> 相关链接:<a href='http://www.google.cn/search?hl=zh-CN&newwindow=1&q=C5402CFG&btnG=Google+%E6%90%9C%E7%B4%A2&meta=&aq=f&oq='>http://www.google.cn/search?hl=zh-CN&newwindow=1&q=C5402CFG&btnG=Google+%E6%90%9C%E7%B4%A2&meta=&aq=f&oq=</a>
|