Knud Dalgaard / 310-TMC3-TestHW

Dependencies:   mbed

Committer:
knuderich
Date:
Fri May 09 11:30:55 2014 +0000
Revision:
0:c92ca0229c9a
P029 P030 gpio

Who changed what in which revision?

UserRevisionLine numberNew contents of line
knuderich 0:c92ca0229c9a 1 #include "mbed.h"
knuderich 0:c92ca0229c9a 2
knuderich 0:c92ca0229c9a 3
knuderich 0:c92ca0229c9a 4 //---------------------------------------
knuderich 0:c92ca0229c9a 5 // Definitions
knuderich 0:c92ca0229c9a 6 //---------------------------------------
knuderich 0:c92ca0229c9a 7 #define RS485_BUFFER_LENGTH 512
knuderich 0:c92ca0229c9a 8 #define RS485_RX_TIMEOUT_US 300
knuderich 0:c92ca0229c9a 9 #define RS485_TX_TIMEOUT_US 300
knuderich 0:c92ca0229c9a 10 #define RS485_BAUDRATE 38400 // Same as Display
knuderich 0:c92ca0229c9a 11 #define RS485_BITS 8
knuderich 0:c92ca0229c9a 12 #define RS485_STOPBIT 1
knuderich 0:c92ca0229c9a 13
knuderich 0:c92ca0229c9a 14 //---------------------------------------
knuderich 0:c92ca0229c9a 15 // Enums
knuderich 0:c92ca0229c9a 16 //---------------------------------------
knuderich 0:c92ca0229c9a 17 typedef enum
knuderich 0:c92ca0229c9a 18 {
knuderich 0:c92ca0229c9a 19 RS485_MODE_LISTEN,
knuderich 0:c92ca0229c9a 20 RS485_MODE_RX_READY,
knuderich 0:c92ca0229c9a 21 //-----------------
knuderich 0:c92ca0229c9a 22 CNT_eRS485_mode
knuderich 0:c92ca0229c9a 23 }eRS485_mode;
knuderich 0:c92ca0229c9a 24
knuderich 0:c92ca0229c9a 25
knuderich 0:c92ca0229c9a 26 //---------------------------------------
knuderich 0:c92ca0229c9a 27 // Structures
knuderich 0:c92ca0229c9a 28 //---------------------------------------
knuderich 0:c92ca0229c9a 29 typedef struct
knuderich 0:c92ca0229c9a 30 {
knuderich 0:c92ca0229c9a 31 eRS485_mode mode; // mode of RS485 hardware
knuderich 0:c92ca0229c9a 32 char *ptrRXBuffer; // actual read position in buffer
knuderich 0:c92ca0229c9a 33 char bytesToRead; // Number of received bytes
knuderich 0:c92ca0229c9a 34 }sRS485_handler;
knuderich 0:c92ca0229c9a 35
knuderich 0:c92ca0229c9a 36
knuderich 0:c92ca0229c9a 37
knuderich 0:c92ca0229c9a 38 //---------------------------------------
knuderich 0:c92ca0229c9a 39 // Global Variables
knuderich 0:c92ca0229c9a 40 //---------------------------------------
knuderich 0:c92ca0229c9a 41 extern sRS485_handler RS485_handler;
knuderich 0:c92ca0229c9a 42 extern char RS485Buffer[RS485_BUFFER_LENGTH];
knuderich 0:c92ca0229c9a 43
knuderich 0:c92ca0229c9a 44
knuderich 0:c92ca0229c9a 45 //---------------------------------------
knuderich 0:c92ca0229c9a 46 // Global Functions
knuderich 0:c92ca0229c9a 47 //---------------------------------------
knuderich 0:c92ca0229c9a 48 void RS485_init( void );
knuderich 0:c92ca0229c9a 49 void RS485_reset( void ); // clear all RS485 registers, --> restart
knuderich 0:c92ca0229c9a 50 int RS485_receiveData( char *& ptrData, int *ptrNumBytes );
knuderich 0:c92ca0229c9a 51 int RS485_sendData( char *ptrDataToSend, int NumBytes );
knuderich 0:c92ca0229c9a 52 int RS485_sendDataWithCRC( char *ptrDataToSend, int NumBytes );