mbed libraries for KL25Z
serial_api.h
- Committer:
- emilmont
- Date:
- 2012-10-23
- Revision:
- 7:73c5efe92a6c
- Child:
- 8:c14af7958ef5
File content as of revision 7:73c5efe92a6c:
/* mbed Microcontroller Library - serial_api * Copyright (c) 2009-2011 ARM Limited. All rights reserved. */ #ifndef MBED_SERIAL_API_H #define MBED_SERIAL_API_H #include "device.h" #if DEVICE_SERIAL #include "PinNames.h" #include "PeripheralNames.h" #ifdef __cplusplus extern "C" { #endif typedef enum { ParityNone = 0, ParityOdd = 1, ParityEven = 2, ParityForced1 = 3, ParityForced0 = 4 } SerialParity; typedef enum { TxIrq, RxIrq } SerialIrq; typedef void (*uart_irq_handler)(uint32_t id, SerialIrq event); typedef struct { #if defined(TARGET_LPC1768) || defined(TARGET_LPC2368) LPC_UART_TypeDef *uart; #elif defined(TARGET_LPC11U24) LPC_USART_Type *uart; #elif defined(TARGET_KL25Z) UARTLP_Type *uart; #endif int index; } serial_object; void serial_init (serial_object *obj, PinName tx, PinName rx); void serial_free (serial_object *obj); void serial_baud (serial_object *obj, int baudrate); void serial_format (serial_object *obj, int data_bits, SerialParity parity, int stop_bits); void serial_irq_handler(serial_object *obj, uart_irq_handler handler, uint32_t id); void serial_irq_set (serial_object *obj, SerialIrq irq, uint32_t enable); int serial_getc (serial_object *obj); void serial_putc (serial_object *obj, int c); int serial_readable (serial_object *obj); int serial_writable (serial_object *obj); void serial_clear (serial_object *obj); void serial_pinout_tx(PinName tx); #ifdef __cplusplus } #endif #endif #endif