17 #ifndef MBED_SERIALBASE_H 18 #define MBED_SERIALBASE_H 25 #include "core-util/FunctionPointer.h" 26 #include "serial_api.h" 27 #include "Transaction.h" 29 #if DEVICE_SERIAL_ASYNCH 46 void baud(
int baudrate);
74 void format(
int bits=8, Parity parity=SerialBase::None,
int stop_bits=1);
101 void attach(
void (*fptr)(
void), IrqType type=RxIrq);
110 void attach(T* tptr,
void (T::*mptr)(
void), IrqType type=RxIrq) {
111 if((mptr != NULL) && (tptr != NULL)) {
112 _irq[type].attach(tptr, mptr);
113 serial_irq_set(&_serial, (SerialIrq)type, 1);
131 static void _irq_handler(uint32_t
id, SerialIrq irq_type);
133 #if DEVICE_SERIAL_ASYNCH 147 int write(
void *buffer,
int length,
const event_callback_t& callback,
int event = SERIAL_EVENT_TX_COMPLETE);
155 int write(
const Buffer& buf,
const event_callback_t& callback,
int event = SERIAL_EVENT_TX_COMPLETE);
169 int read(
void *buffer,
int length,
const event_callback_t& callback,
int event = SERIAL_EVENT_RX_COMPLETE,
unsigned char char_match = SERIAL_RESERVED_CHAR_MATCH);
178 int read(
const Buffer& buffer,
const event_callback_t& callback,
int event = SERIAL_EVENT_RX_COMPLETE,
unsigned char char_match = SERIAL_RESERVED_CHAR_MATCH);
199 void start_read(
const Buffer& buffer,
char buffer_width,
const event_callback_t& callback,
int event,
unsigned char char_match);
200 void start_write(
const Buffer& buffer,
char buffer_width,
const event_callback_t& callback,
int event);
201 void interrupt_handler_asynch(
void);
210 int _base_putc(
int c);
212 #if DEVICE_SERIAL_ASYNCH 217 transaction_data_t _current_tx_transaction;
218 transaction_data_t _current_rx_transaction;
224 mbed::util::FunctionPointer _irq[2];
Definition: Transaction.h:48
void attach(T *tptr, void(T::*mptr)(void), IrqType type=RxIrq)
Definition: SerialBase.h:110
void abort_write()
Definition: SerialBase.cpp:136
void send_break()
Definition: SerialBase.cpp:76
int readable()
Definition: SerialBase.cpp:44
void set_flow_control(Flow type, PinName flow1=NC, PinName flow2=NC)
Definition: SerialBase.cpp:91
int write(void *buffer, int length, const event_callback_t &callback, int event=SERIAL_EVENT_TX_COMPLETE)
Definition: SerialBase.cpp:115
void format(int bits=8, Parity parity=SerialBase::None, int stop_bits=1)
Definition: SerialBase.cpp:40
void baud(int baudrate)
Definition: SerialBase.cpp:35
int writeable()
Definition: SerialBase.cpp:49
Definition: SerialBase.h:39
void abort_read()
Definition: SerialBase.cpp:141
int set_dma_usage_rx(DMAUsage usage)
Definition: SerialBase.cpp:155
int read(void *buffer, int length, const event_callback_t &callback, int event=SERIAL_EVENT_RX_COMPLETE, unsigned char char_match=SERIAL_RESERVED_CHAR_MATCH)
Definition: SerialBase.cpp:164
mbed::util::FunctionPointer2< void, Buffer, int > event_callback_t
Definition: SerialBase.h:138
int set_dma_usage_tx(DMAUsage usage)
Definition: SerialBase.cpp:146
void attach(void(*fptr)(void), IrqType type=RxIrq)
Definition: SerialBase.cpp:53