main.c 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #include "FU68xx_5.h"
  2. #include <Myproject.h>
  3. extern uint16 PFCoffset;
  4. /********************************************************************************
  5. Function Definition
  6. ********************************************************************************/
  7. void main(void)
  8. {
  9. uint16 PowerUpCnt = 0;
  10. for (PowerUpCnt = 0; PowerUpCnt < SystemPowerUpTime; PowerUpCnt++) {};
  11. /*******************Hardware & Software Initial********************/
  12. HardwareInit();
  13. SoftwareInit();
  14. // Sys_Ctr_Int();
  15. /****************************总中断使能**************************/
  16. EA = 1;
  17. _nop_(); _nop_(); _nop_();
  18. WatchDogConfig(600, Enable);//看们狗初始化
  19. Uart.Oder = 0x11; //初始值
  20. // DMA0_XRAMToUART_Init();
  21. // Conf_DMA(1, XDATA_UART1, (uint16)GetAddr_UARTDBG(), DMALENT);
  22. while (1)
  23. {
  24. PFCSet.OffsetFlag = 1;
  25. if (flag_1ms_main == 1)
  26. {
  27. main_ms();
  28. flag_1ms_main = 0;
  29. }
  30. if (PFCSet.OffsetFlag == 1)
  31. {
  32. GetCurrentOffset(); // 压机电流偏置的获取
  33. }
  34. MC_Control(); // 压机主控函数,状态扫描 2.6k
  35. User_Dri_main(); //用户使用主函数
  36. //ptc母线继电器1s后动作
  37. if (Time.PowerOnCnt >= 5000)
  38. {
  39. PTC_RELAY = 1;
  40. if (mcFaultSource == FaultNoSource)
  41. {
  42. RST = 1;
  43. }
  44. }
  45. dog_Status |= 0x04;
  46. if (dog_Status >= 0x07)
  47. {
  48. dog_Status = 0;
  49. SetBit(WDT_CR, WDTRF);//喂狗 主函数、1ms中断、foc中断 三者都进
  50. }
  51. }
  52. }