Communication.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. /**************************** (C) COPYRIGHT 2018 Fortiortech shenzhen *****************************
  2. * File Name : Communication.h
  3. * Author : Cooper.fang, Fortiortech Appliction Team
  4. * Version : V1.0
  5. * Date : 10-25-2018
  6. * Description : This file contains all the common data types used for
  7. * communication.
  8. ***************************************************************************************************
  9. * All Rights Reserved
  10. **************************************************************************************************/
  11. #ifndef __COMMUNICATION_H_
  12. #define __COMMUNICATION_H_
  13. #if (Debugg==1)
  14. #define CH_MAX (2)
  15. #define LEN_TRACE (0) // n=0:128, 1:256, 2:512, 3:1024 ��TRACE DATA=128*2^n(n=0~3)
  16. #define DEF_TRACEADDR (0xFEDFA000)
  17. #define SZ_SENDRINGBUF (128)
  18. #define SZ_RECVBUF (24)
  19. #define SZ_SENDBUF (32)
  20. #define SZ_TRACEBUF (CH_MAX*128*(1<<LEN_TRACE))
  21. #define TRIG_NON (0)
  22. #define TRIG_EDGE_UP (1)
  23. #define TRIG_EDGE_DOWN (2)
  24. #define TRIG_LIMIT_INNER (3)
  25. #define TRIG_LIMIT_OUTER (4)
  26. #define RCVCMD6 (6)
  27. #define RCVCMD9 (9)
  28. #define RCVCMD11 (11)
  29. #define RCVCMD14 (14)
  30. #define RCVCMD16 (16)
  31. union UNION_STATUS
  32. {
  33. unsigned int ui;
  34. unsigned char b[4];
  35. struct {
  36. unsigned halt_trace: 1;
  37. unsigned cmd_gettrace: 1;
  38. unsigned ch_trace: 2;
  39. unsigned len_trace: 2;
  40. unsigned trig_support: 1;
  41. unsigned dummy1: 1;
  42. unsigned type_trig: 3;
  43. unsigned triggered: 1;
  44. unsigned ch_trig: 2;
  45. unsigned trig_en: 1;
  46. unsigned trig_normal: 1;
  47. unsigned interval: 16;
  48. } bf;
  49. };
  50. union UNION_DWORD
  51. {
  52. unsigned int dw;
  53. unsigned char b[4];
  54. };
  55. union UNION_INT
  56. {
  57. int32 i;
  58. int8 b[4];
  59. };
  60. union UNION_WORD {
  61. unsigned short w;
  62. unsigned char b[2];
  63. };
  64. union UNION_SHORT
  65. {
  66. short s;
  67. unsigned char b[2];
  68. };
  69. #define BIGENDIAN 0
  70. #define REG_RX UT_DR
  71. #define REG_TX UT_DR
  72. #define REG_STR ( (SCI1.SSR.BYTE >>4) &0x03)//错误状态
  73. #define REG_TSF (!SCI1.SSR.BIT.TDRE)//发送查空(查询)
  74. #define REG_RESET() {char i= SCI1.SSR.BYTE ; i=REG_RX; while ( 0 != (SCI1.SSR.BYTE&0x38) ) { SCI1.SSR.BYTE &= 0xc7 ; } }
  75. extern union UNION_STATUS xdata ubf_status;
  76. extern void UartSend(void);
  77. extern void UartRecive(void);
  78. extern void UartDealResponse(void);
  79. //extern void cumfault_6(void);
  80. extern void PC_MONITOR_PWM(void);
  81. extern void PC_MONITOR_MAIN(void);
  82. extern void PC_MONITOR_1MS(void);
  83. extern void senddeal(void);
  84. extern void CMDMONI_WT_SENDCMD(void);
  85. extern void CMDMONI_WT_INIT(void);
  86. extern void PC_MONITOR_INTR(void);
  87. //extern uint16 crc16_x25(uint8 * cata, uint8 length);
  88. extern uint16 CRC16Compute(uint8 * CRCData, uint8 length);
  89. #endif
  90. #endif