uart.h
上传用户:yyhongfa
上传日期:2013-01-18
资源大小:267k
文件大小:4k
开发平台:

C/C++

  1. /***********************************************
  2.    name: uart.h
  3.    create by skier 2005.06.04
  4.    for LPG2104     UART driver
  5. *********************************************/
  6. #ifndef UART_H
  7. #define UART_H
  8. /*
  9. * if  DEBUG_MODEM_DATA defined
  10. *Byte receive from  Modem or Send to Modem will
  11. * print to user Com
  12. */
  13. //#define DEBUG_MODEM_DATA
  14. #define UART0_IN_DATA  (((U0LSR | 0x00) & 0x01) == 0x01)
  15. #define UART0_DATA      U0RBR
  16. #define UART1_IN_DATA  (((U1LSR | 0x00) & 0x01) == 0x01)
  17. #define UART1_DATA      U1RBR
  18. #define UART1_RATE 115200
  19. #define  U1LCR_VALUE ((Fcclk/4) /16)/UART1_RATE
  20. #define UART0_RATE 115200
  21. #define U0LCR_VALUE ((Fcclk/4) /16)/UART0_RATE
  22. /*
  23. *  MAX byte of UART0 interrupt buffered.
  24. *UART0 in this is used to print DEBUG information ,
  25. *UART0 is also used to connect to user application 
  26. *equipment. such as POS.
  27. */
  28. #define MAX_UART0_BUFFER    512
  29. /*
  30. *  MAX byte of UART1 interrupt buffered.
  31. * UART1 in this is used to connect to a GPRS Modem.
  32. * such as HUAWEI GTM900B, MC35I etc.
  33. */
  34. #define MAX_UART1_BUFFER    1024
  35. /*
  36. * MAX byte will be read one time by main() function.
  37. * for reduce RAM we define it to 512
  38. */
  39. #define MAX_READ_LEN  1024
  40. #define UART_NO_DATA  -1
  41. #define DATA_READ_OK    0
  42. #define SEND_AT(str)                      sendString_2_modem(str)
  43. #define GET_AT(p)                             Uart1_getByte(p)
  44. #define GET_USER_DATA(p)            Uart0_getByte(p)
  45. #define DEBUG  0
  46. #if DEBUG
  47. #define DEBUG_FUNCTION(str)       debug_sys_time();   
  48.                                                        sendString_2_user(str);
  49. #define DEBUG_EVENT(str)           {   
  50.                                                        debug_sys_time();   
  51.                                                        sendString_2_user(str);
  52.                                                      } 
  53. #define DEBUG_ERR(str)               {   
  54.                                                        debug_sys_time();   
  55.                                                        sendString_2_user("ERR:");
  56.                                                        sendString_2_user(str);
  57.                                                      } 
  58. #else
  59. #define DEBUG_FUNCTION(str)
  60. #define DEBUG_EVENT(str) 
  61. #define DEBUG_ERR(str)
  62. #endif
  63. #define DEBUG_CHAR(char)             //sendByte_2_user(char)
  64. #define DEBUG_CHARNECESSARY(ch)   sendByte_2_user(ch)
  65. #define  DEBUG_NECESSARY(s)       sendString_2_user(s)
  66. #ifndef UART_C
  67. extern void  UART0_Ini(void);
  68. extern void UART1_Ini(void);
  69. extern void  sendByte_2_user(u8_t data);
  70. extern void sendByte_2_modem(u8_t data);
  71. extern void  sendString_2_user(char *str);
  72. extern void  sendString_2_modem(char *str);
  73. extern char UART0_ReceiveChar(void);
  74. extern u32_t get_user_data(u8_t *ch);
  75. extern u32_t get_modem_data(u8_t *ch);
  76. extern   u16_t  get_modem_datalen(void);
  77. extern  u16_t  get_user_datalen(void);
  78. extern  u32_t writeDate_2_modem(void *device, u8_t *data, u32_t len);
  79. extern  u32_t writeDate_2_user(u8_t *data, u32_t len);
  80. extern void sio_read_abort(void *);
  81. //extern INT16  Uart1_getByte(u8_t *ch);
  82. #else
  83. void  UART0_Ini(void);
  84. void UART1_Ini(void);
  85. void  sendByte_2_user(u8_t data);
  86. void sendByte_2_modem(u8_t data);
  87. void  sendString_2_user(char *str);
  88. void  sendString_2_modem(char *str);
  89. char UART0_ReceiveChar(void);
  90. INT16 Uart0_getByte(u8_t *ch);
  91. INT16 Uart1_getByte(u8_t *ch);
  92. u32_t get_modem_data(u8_t *buf);
  93. u32_t get_user_data(u8_t *buf);
  94. u16_t  get_modem_datalen(void);
  95. u16_t  get_user_datalen(void);
  96. u32_t writeDate_2_modem(void *device, u8_t *data, u32_t len);
  97. u32_t writeDate_2_user(u8_t *data, u32_t len);
  98. void sio_read_abort(void *);
  99. #endif
  100. #endif