NetBurner 3.5.7
PDF Version
serial.h
1/*NB_REVISION*/
2
3/*NB_COPYRIGHT*/
4
112#ifndef _NB_SERIAL_H
113#define _NB_SERIAL_H
114
115#include <basictypes.h>
116
121#define SERIAL_ERR_NOSUCH_PORT (-1)
122#define SERIAL_ERR_PORT_NOTOPEN (-2)
123#define SERIAL_ERR_PORT_ALREADYOPEN (-3)
124#define SERIAL_ERR_PARAM_ERROR (-4)
127// Special UART characters
128#define ADDR_ESCAPE_CHAR (0xFF)
129
135#define UART_ERR_BREAK (0x08)
136#define UART_ERR_FRAME (0x04)
137#define UART_ERR_PARITY (0x02)
138#define UART_ERR_OVERRUN (0x01)
154
211int OpenSerial(int portnum, unsigned int baudrate, int stop_bits, int data_bits, parity_mode parity);
212
224#define SimpleOpenSerial(p, b) OpenSerial(p, b, 1, 8, eParityNone)
225
240
251void SerialExpandRxBuffer(int fd, int nb);
252
263int SerialClose(int portnum);
264
276void SerialEnableTxFlow(int port, int enab);
277
288void SerialEnableRxFlow(int port, int enab);
289
310void SerialEnableHwTxFlow(int port, int enab);
311
328void SerialEnableHwRxFlow(int port, int enab);
329
345void Serial485HalfDupMode(int port, int enab);
346
363void SendBreak(int port, uint32_t time);
364
380int serwriteaddress(int fd, const char c);
381
430int GetUartErrorReg(int fd);
431
440void SetRTS(int port, bool val);
441
442#if (defined CB34EX || defined SB700EX || defined SB72EX || defined SB800EX)
454BOOL GetCD(int port);
455
467BOOL GetRI(int port);
468
480BOOL GetDSR(int port);
481
490void SetDTR(int port, BOOL val);
491#endif /* CB34EX/SB700EX/SB72EX/SB800EX */
492
504
505#if (defined SAME70) || (defined __MIMXRT10xx__) || (defined __MIMXRT11xx__)
506
514typedef void (*serRxIdleCallback_t)(int portnum);
515
524typedef void (*serTxCompCallback_t)(int portnum, uint32_t bytesSinceLast);
525
561serTxCompCallback_t RegisterTxEmptyCallback(int fd, serTxCompCallback_t pFunc);
562
604serRxIdleCallback_t RegisterSerIdleCallback(int fd, int num_bits, serRxIdleCallback_t pFunc);
605
606#endif
607
608#endif /* _NB_SERIAL_H */
609
int OpenDefaultSerial()
Opens the Default serial port as defined by the Boot Config settings.
int GetUartErrorReg(int fd)
Get and clear the accumulated UART error register.
void SerialExpandRxBuffer(int fd, int nb)
Expand the received serial buffer.
int OpenSerial(int portnum, unsigned int baudrate, int stop_bits, int data_bits, parity_mode parity)
Open a serial port.
void SetRTS(int port, bool val)
Set or clear the Request To Send (RTS) signal.
parity_mode
Serial Parity Modes.
Definition serial.h:146
void SerialEnableTxFlow(int port, int enab)
Enable transmit software flow control on the specified UART.
int serwriteaddress(int fd, const char c)
Send an address character in multidrop mode.
void SerialEnableRxFlow(int port, int enab)
Enable receive software flow control on the specified UART.
void Serial485HalfDupMode(int port, int enab)
Enable or disable RS-485 half-duplex mode.
void SerialEnableHwTxFlow(int port, int enab)
Enable clear-to-send hardware flow control on transmit (TxCTS).
BOOL SerialSendComplete(int fd)
Check whether serial transmission is complete.
void SerialEnableHwRxFlow(int port, int enab)
Enable request-to-send hardware flow control on receive (RxRTS).
void SendBreak(int port, uint32_t time)
Send a break condition on the specified UART.
int SerialClose(int portnum)
Close a serial port.
@ eParityMultiEven
Multi mode, Even parity.
Definition serial.h:152
@ eParityNone
No parity.
Definition serial.h:147
@ eParityMulti
Multi parity.
Definition serial.h:150
@ eParityMultiOdd
Multi mode, Odd parity.
Definition serial.h:151
@ eParityEven
Even parity.
Definition serial.h:149
@ eParityOdd
Odd parity.
Definition serial.h:148