watch.c 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. #include "User_Dri_main.h"
  2. extern unsigned char xdata sg_ucUartDbgData[128];
  3. MCUART_watch xdata Uartwatch;
  4. void uart_boxing(uint8 ChNum, int32 CH0, int32 CH1, int32 CH2, int32 CH3, int32 CH4, int32 CH5, int32 CH6, int32 CH7)
  5. {
  6. uint8 i = 0, tt = 0;
  7. static float CH[20] = 0;
  8. static uint16 cmdTFT_CH1[4] = {0x00, 0x00, 0x80, 0x7F};
  9. typedef union
  10. {
  11. float fdata;
  12. unsigned long ldata;
  13. } datetype;
  14. datetype Ddate;
  15. Wait_DMA(1);
  16. CH[0] = CH0; CH[1] = CH1; CH[2] = CH2; CH[3] = CH3; CH[4] = CH4; CH[5] = CH5; CH[6] = CH6; CH[7] = CH7;
  17. for (tt = 0; tt < ChNum; tt++)
  18. {
  19. Ddate.fdata = CH[tt];
  20. sg_ucUartDbgData[0 + tt * 4] = Ddate.ldata;
  21. sg_ucUartDbgData[1 + tt * 4] = (Ddate.ldata >> 8 & 0xFF);
  22. sg_ucUartDbgData[2 + tt * 4] = (Ddate.ldata >> 16 & 0xFF);
  23. sg_ucUartDbgData[3 + tt * 4] = (Ddate.ldata >> 24 & 0xFF);
  24. }
  25. if (ChNum != 0)
  26. {
  27. for (i = 0; i < 4; i++)
  28. {
  29. sg_ucUartDbgData[4 + (tt - 1) * 4 + i] = cmdTFT_CH1[i];
  30. }
  31. }
  32. DMA1_LEN = 4 + (tt - 1) * 4 + (i - 1);
  33. Switch_DMA(1);
  34. }
  35. void UART1RCE()
  36. {
  37. Uartwatch.uarttimejishu = 0;
  38. Uartwatch.uartre[Uartwatch.uartjia++] = UT_DR;
  39. }
  40. void UART1deal()
  41. {
  42. static uint8 aa[6] = 0;
  43. uint8 ii = 0;
  44. if (Uartwatch.uarttimejishu >= 30 && Uartwatch.uartjia != 0)
  45. {
  46. if ((Uartwatch.uartre[0] == 'T') && (Uartwatch.uartre[1] == ':') && (Uartwatch.uartre[Uartwatch.uartjia - 1] == 0x0A))
  47. {
  48. if (Uartwatch.uartre[2] == '1')
  49. {
  50. Uartwatch.fast = 1;
  51. }
  52. else if (Uartwatch.uartre[2] == '0')
  53. {
  54. Uartwatch.fast = 0;
  55. }
  56. }
  57. else if ((Uartwatch.uartre[0] == 'S') && (Uartwatch.uartre[1] == ':') && (Uartwatch.uartre[Uartwatch.uartjia - 1] == 0x0A))
  58. {
  59. for (ii = 0; ii <= 5; ii++)
  60. {
  61. aa[ii] = 0;
  62. }
  63. for (ii = 0; ii <= (Uartwatch.uartjia - 4); ii++)
  64. {
  65. aa[ii] = 1;
  66. }
  67. ConTrolCmd.yajispeed = ((Uartwatch.uartre[Uartwatch.uartjia - 6] & 0x0f) * 10000 * aa[4]) + ((Uartwatch.uartre[Uartwatch.uartjia - 5] & 0x0f) * 1000 * aa[3])
  68. + ((Uartwatch.uartre[Uartwatch.uartjia - 4] & 0x0f) * 100 * aa[2]) + ((Uartwatch.uartre[Uartwatch.uartjia - 3] & 0x0f) * 10 * aa[1]) + (Uartwatch.uartre[Uartwatch.uartjia - 2] & 0x0f) * aa[0];
  69. }
  70. Uartwatch.uartjia = 0;
  71. }
  72. }
  73. void trace1()
  74. {
  75. static uint8 ii = 0;
  76. if (Uartwatch.cunflag == 1)
  77. {
  78. ii++;
  79. Uartwatch.jiajia++;
  80. Uartwatch.buff1[ii] = VoltageComp.testUq4; //Uartwatch.jiajia;
  81. Uartwatch.buff2[ii] = VoltageComp.mcDcbus;
  82. Uartwatch.buff3[ii] = FOC__ID;
  83. }
  84. if (ii >= (Buge - 1))
  85. {
  86. ii = 0;
  87. Uartwatch.jiajia = 0;
  88. Uartwatch.faflag = 1;
  89. Uartwatch.cunflag = 0;
  90. }
  91. }
  92. extern uint16 AimFrequencyMaxVAC;