Subversion Repositories Bart

Rev

Blame | Last modification | View Log | RSS feed

  1. /*
  2.    $Header: c:/cvsroot/bart/rt_serial.h,v 1.3 2004/03/09 22:09:10 mjames Exp $
  3.  */
  4.  
  5. /*
  6.    $Log: rt_serial.h,v $
  7.    Revision 1.3  2004/03/09 22:09:10  mjames
  8.    Hardware flow control implemented
  9.  
  10.    Revision 1.2  2004/03/04 21:53:02  mjames
  11.    Made the files work with a demo project
  12.  
  13.    Revision 1.1.1.1  2004/03/03 22:54:33  mjames
  14.    no message
  15.  
  16.  
  17.  */
  18.  
  19. #if !defined RT_SERIAL_H
  20. #define RT_SERIAL_H
  21.  
  22. /* protocol characters */
  23. #define CR   0x0D
  24. #define LF   0x0A
  25. #define XON  0x11
  26. #define XOFF 0x13
  27.  
  28.  
  29. extern volatile unsigned char  SIO1_TxCount;           /**< num of un-transmitted byted in FIFO */
  30. extern volatile Bool SIO1_TxBusy;            /**< TRUE when UART is transmitting      */
  31.  
  32. extern void rt_serial_init(void);
  33.  
  34.  
  35. /* these functions named to allow compatibility with C runtime library */
  36. extern void putchar(char c);
  37.  
  38. extern char getchar(void);
  39.  
  40. extern void SIO1_flush(void); /* clear RX buffer */
  41.  
  42. extern void SIO1_break(char level, unsigned char ticks); /* delay for n*100 ms ticks, taking Txd to level */
  43.  
  44. extern char SIO1_pollchar(void);
  45.  
  46. extern void SIO2_putchar(char c);
  47.  
  48. extern char SIO2_getchar(void);
  49.  
  50. extern void SIO2_flush(void);
  51.  
  52. extern char  SIO2_pollchar(void);
  53.  
  54. extern void SendStringCode(code char * s);
  55. extern void SendStringXdata(xdata char * s);
  56.  
  57. extern void SendHex(unsigned char x);
  58.  
  59. #define SEND4HEX(x) { SendHex(((x)>>24)&0xff); SendHex(((x)>>16)&0xff);\
  60.                       SendHex(((x)>>8)&0xff);SendHex((x)&0xff);}
  61.  
  62. extern void SIOTakeSemaphore(void);
  63.  
  64. extern char SIOSetSemaphore(Bool value);
  65.  
  66. extern void SIOPutSemaphore(void);
  67.  
  68. #define SIO_PUT_SEMAPHORE() SIOPutSemaphore()
  69. #define SIO_TAKE_SEMAPHORE() SIOTakeSemaphore()
  70. #define SIO_SET_SEMAPHORE(x) SIOSetSemaphore(x)
  71.  
  72.  
  73. #endif
  74.  
  75.