#include "FU68xx_5.h" #include extern uint16 PFCoffset; /******************************************************************************** Function Definition ********************************************************************************/ void main(void) { uint16 PowerUpCnt = 0; for (PowerUpCnt = 0; PowerUpCnt < SystemPowerUpTime; PowerUpCnt++) {}; /*******************Hardware & Software Initial********************/ HardwareInit(); SoftwareInit(); // Sys_Ctr_Int(); /****************************总中断使能**************************/ EA = 1; _nop_(); _nop_(); _nop_(); WatchDogConfig(600, Enable);//看们狗初始化 Uart.Oder = 0x11; //初始值 // DMA0_XRAMToUART_Init(); // Conf_DMA(1, XDATA_UART1, (uint16)GetAddr_UARTDBG(), DMALENT); while (1) { PFCSet.OffsetFlag = 1; if (flag_1ms_main == 1) { main_ms(); flag_1ms_main = 0; } if (PFCSet.OffsetFlag == 1) { GetCurrentOffset(); // 压机电流偏置的获取 } MC_Control(); // 压机主控函数,状态扫描 2.6k User_Dri_main(); //用户使用主函数 //ptc母线继电器1s后动作 if (Time.PowerOnCnt >= 5000) { PTC_RELAY = 1; if (mcFaultSource == FaultNoSource) { RST = 1; } } dog_Status |= 0x04; if (dog_Status >= 0x07) { dog_Status = 0; SetBit(WDT_CR, WDTRF);//喂狗 主函数、1ms中断、foc中断 三者都进 } } }