Myproject.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. #ifndef __MYPROJECT_H_
  2. #define __MYPROJECT_H_
  3. #include <FU68xx_5.h>
  4. #include <FU68xx_5_Type.h>
  5. #include <Customer.h>
  6. #include <Parameter.h>
  7. #include <AddFunction.h>
  8. #include <Protect.h>
  9. #include <ProtectSet.h>
  10. #include <VoltageCompensation.h>
  11. // math.h包含算术运算的数学函数
  12. #include <math.h>
  13. #include <Definition.h>
  14. #include <Parameter.h>
  15. typedef enum
  16. {
  17. mcReady = 0,
  18. mcInit = 1,
  19. mcCharge = 2,
  20. mcTailWind = 3,
  21. mcPosiCheck = 4,
  22. mcAlign = 5,
  23. mcStart = 6,
  24. mcRun = 7,
  25. mcStop = 8,
  26. mcFault = 9,
  27. mcBrake = 10
  28. }MotStaType;
  29. typedef union
  30. {
  31. uint8 SetMode; // 整个配置模式使能位
  32. struct
  33. {
  34. uint8 AlignSetFlag :1; // 预定位配置标志位
  35. } SetFlag;
  36. }MotStaM;
  37. extern MotStaType mcState;
  38. extern MotStaM McStaSet;
  39. void CMP0_Init(void);
  40. void CMP3_Init(void);
  41. void CMP3_Interrupt_Init(void);
  42. void CMP5_Init(void);
  43. void Timer2_Init(void);
  44. void Timer3_Init(void);
  45. void Timer4_Init(void);
  46. void SPI_Init(void);
  47. void WatchDogConfig(uint32 value, uint8 Status);
  48. unsigned short CRC_Check(unsigned char start_sector , unsigned char offset_sector);
  49. typedef struct
  50. {
  51. int16 IuOffset; //Iu的偏置电压
  52. int32 IuOffsetSum; //Iu的偏置电压总和
  53. int16 IvOffset; //Iv的偏置电压
  54. int32 IvOffsetSum; //Iv的偏置电压总和
  55. int16 Iw_busOffset; //Iw或Ibus的偏置电压
  56. int32 Iw_busOffsetSum;//Iw或Ibus的偏置电压总和
  57. int16 OffsetCount; //偏置电压采集计数
  58. int8 OffsetFlag; //偏置电压结束标志位
  59. uint8_t CalibFlag; // 偏置电压配置标志位
  60. }CurrentOffset;
  61. extern CurrentOffset xdata mcCurOffset;
  62. extern void Get_Current_Offset(void);
  63. extern void FOC_Init(void);
  64. extern void Motor_Charge(void);
  65. extern void Motor_Open(void);
  66. extern void Motor_Align(void);
  67. #if (FiledWeakenCompEnable==1)
  68. typedef struct
  69. {
  70. uint16 FieldWeakenActualUS_Q15;
  71. uint16 FieldWeakenActualDcbus_Q15;
  72. int16 FieldWeakenIsTheta;
  73. int16 mcIqref;
  74. int16 mcIdref;
  75. }FieldWeakeningTypeDef;
  76. extern FieldWeakeningTypeDef xdata mcFieldWeaken;
  77. extern void GetFieldWeakenUsAndUdc_Q15(int16 Ud, int16 Uq , uint16 Dcbus);
  78. extern void GetFieldWeakenIdRefAndIqRef_Q15(int16 Is);
  79. extern void GetFieldWeakenIsTheta_Q15(void);
  80. extern int16 mcFieldWeakenPI(int16 feedbackvalue, int16 referencevalue);
  81. extern void FiledWeakenControl(int16 Ud, int16 Uq , uint16 Dcbusk,int16 Is);
  82. #endif
  83. typedef enum
  84. {
  85. BIG_ENDIAN = 0,
  86. LITTLE_ENDIAN = ENDIAN
  87. }eType_DMA_Endian;
  88. extern void SetEndian_DMA(eType_DMA_Endian eEndian);
  89. #endif