Defines | |
#define | UART_PERIPHERAL_FRQ (MIOS32_SYS_CPU_FREQUENCY/4) |
#define | MIOS32_UART0_TX_INIT { MIOS32_SYS_LPC_PINSEL(2, 0, 2); MIOS32_SYS_LPC_PINMODE(2, 0, 2); MIOS32_SYS_LPC_PINMODE_OD(2, 0, 1); } |
#define | MIOS32_UART0_RX_INIT { MIOS32_SYS_LPC_PINSEL(2, 1, 2); MIOS32_SYS_LPC_PINMODE(2, 1, 0); } |
#define | MIOS32_UART0 LPC_UART1 |
#define | MIOS32_UART0_IRQ_CHANNEL UART1_IRQn |
#define | MIOS32_UART0_IRQHANDLER_FUNC void UART1_IRQHandler(void) |
#define | MIOS32_UART1_TX_INIT { MIOS32_SYS_LPC_PINSEL(0, 0, 2); MIOS32_SYS_LPC_PINMODE(0, 0, 2); MIOS32_SYS_LPC_PINMODE_OD(0, 0, 1); } |
#define | MIOS32_UART1_RX_INIT { MIOS32_SYS_LPC_PINSEL(0, 1, 2); MIOS32_SYS_LPC_PINMODE(0, 1, 0); } |
#define | MIOS32_UART1 LPC_UART3 |
#define | MIOS32_UART1_IRQ_CHANNEL UART3_IRQn |
#define | MIOS32_UART1_IRQHANDLER_FUNC void UART3_IRQHandler(void) |
#define | MIOS32_UART2_TX_INIT { MIOS32_SYS_LPC_PINSEL(0, 2, 1); MIOS32_SYS_LPC_PINMODE(0, 2, 2); MIOS32_SYS_LPC_PINMODE_OD(0, 2, 1); } |
#define | MIOS32_UART2_RX_INIT { MIOS32_SYS_LPC_PINSEL(0, 3, 1); MIOS32_SYS_LPC_PINMODE(0, 3, 0); } |
#define | MIOS32_UART2 LPC_UART0 |
#define | MIOS32_UART2_IRQ_CHANNEL UART0_IRQn |
#define | MIOS32_UART2_IRQHANDLER_FUNC void UART0_IRQHandler(void) |
#define | MIOS32_UART3_TX_INIT { MIOS32_SYS_LPC_PINSEL(0, 10, 1); MIOS32_SYS_LPC_PINMODE(0, 10, 2); MIOS32_SYS_LPC_PINMODE_OD(0, 10, 1); } |
#define | MIOS32_UART3_RX_INIT { MIOS32_SYS_LPC_PINSEL(0, 11, 1); MIOS32_SYS_LPC_PINMODE(0, 11, 0); } |
#define | MIOS32_UART3 LPC_UART2 |
#define | MIOS32_UART3_IRQ_CHANNEL UART2_IRQn |
#define | MIOS32_UART3_IRQHANDLER_FUNC void UART2_IRQHandler(void) |
#define | LSR_RDR 0x01 |
#define | LSR_OE 0x02 |
#define | LSR_PE 0x04 |
#define | LSR_FE 0x08 |
#define | LSR_BI 0x10 |
#define | LSR_THRE 0x20 |
#define | LSR_TEMT 0x40 |
#define | LSR_RXFE 0x80 |
#define | MIOS32_UART0_IRQHANDLER_FUNC void USART1_IRQHandler(void) |
#define | MIOS32_UART1_IRQHANDLER_FUNC void USART3_IRQHandler(void) |
#define | NUM_SUPPORTED_UARTS 3 |
#define | MIOS32_UART0_TX_PORT GPIOA |
#define | MIOS32_UART0_TX_PIN GPIO_Pin_9 |
#define | MIOS32_UART0_RX_PORT GPIOA |
#define | MIOS32_UART0_RX_PIN GPIO_Pin_10 |
#define | MIOS32_UART0 USART1 |
#define | MIOS32_UART0_IRQ_CHANNEL USART1_IRQn |
#define | MIOS32_UART0_IRQHANDLER_FUNC void USART1_IRQHandler(void) |
#define | MIOS32_UART0_REMAP_FUNC {} |
#define | MIOS32_UART1_TX_PORT GPIOC |
#define | MIOS32_UART1_TX_PIN GPIO_Pin_10 |
#define | MIOS32_UART1_RX_PORT GPIOC |
#define | MIOS32_UART1_RX_PIN GPIO_Pin_11 |
#define | MIOS32_UART1 USART3 |
#define | MIOS32_UART1_IRQ_CHANNEL USART3_IRQn |
#define | MIOS32_UART1_IRQHANDLER_FUNC void USART3_IRQHandler(void) |
#define | MIOS32_UART1_REMAP_FUNC { GPIO_PinRemapConfig(GPIO_PartialRemap_USART3, ENABLE); } |
#define | MIOS32_UART2_TX_PORT GPIOA |
#define | MIOS32_UART2_TX_PIN GPIO_Pin_2 |
#define | MIOS32_UART2_RX_PORT GPIOA |
#define | MIOS32_UART2_RX_PIN GPIO_Pin_3 |
#define | MIOS32_UART2 USART2 |
#define | MIOS32_UART2_IRQ_CHANNEL USART2_IRQn |
#define | MIOS32_UART2_IRQHANDLER_FUNC void USART2_IRQHandler(void) |
#define | MIOS32_UART2_REMAP_FUNC {} |
#define | NUM_SUPPORTED_UARTS MIOS32_UART_NUM |
#define | MIOS32_UART0_TX_PORT GPIOA |
#define | MIOS32_UART0_TX_PIN GPIO_Pin_2 |
#define | MIOS32_UART0_RX_PORT GPIOA |
#define | MIOS32_UART0_RX_PIN GPIO_Pin_3 |
#define | MIOS32_UART0 USART2 |
#define | MIOS32_UART0_IRQ_CHANNEL USART2_IRQn |
#define | MIOS32_UART0_IRQHANDLER_FUNC void USART2_IRQHandler(void) |
#define | MIOS32_UART0_REMAP_FUNC { GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_USART2); GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_USART2); } |
#define | MIOS32_UART1_TX_PORT GPIOD |
#define | MIOS32_UART1_TX_PIN GPIO_Pin_8 |
#define | MIOS32_UART1_RX_PORT GPIOD |
#define | MIOS32_UART1_RX_PIN GPIO_Pin_9 |
#define | MIOS32_UART1 USART3 |
#define | MIOS32_UART1_IRQ_CHANNEL USART3_IRQn |
#define | MIOS32_UART1_IRQHANDLER_FUNC void USART3_IRQHandler(void) |
#define | MIOS32_UART1_REMAP_FUNC { GPIO_PinAFConfig(GPIOD, GPIO_PinSource8, GPIO_AF_USART3); GPIO_PinAFConfig(GPIOD, GPIO_PinSource9, GPIO_AF_USART3); } |
#define | MIOS32_UART2_TX_PORT GPIOC |
#define | MIOS32_UART2_TX_PIN GPIO_Pin_6 |
#define | MIOS32_UART2_RX_PORT GPIOB |
#define | MIOS32_UART2_RX_PIN GPIO_Pin_7 |
#define | MIOS32_UART2_TX USART6 |
#define | MIOS32_UART2_RX USART1 |
#define | MIOS32_UART2_TX_IRQ_CHANNEL USART6_IRQn |
#define | MIOS32_UART2_RX_IRQ_CHANNEL USART1_IRQn |
#define | MIOS32_UART2_TX_IRQHANDLER_FUNC void USART6_IRQHandler(void) |
#define | MIOS32_UART2_RX_IRQHANDLER_FUNC void USART1_IRQHandler(void) |
#define | MIOS32_UART2_REMAP_FUNC { GPIO_PinAFConfig(GPIOC, GPIO_PinSource6, GPIO_AF_USART6); GPIO_PinAFConfig(GPIOB, GPIO_PinSource7, GPIO_AF_USART1); } |
#define | MIOS32_UART3_TX_PORT GPIOC |
#define | MIOS32_UART3_TX_PIN GPIO_Pin_12 |
#define | MIOS32_UART3_RX_PORT GPIOD |
#define | MIOS32_UART3_RX_PIN GPIO_Pin_2 |
#define | MIOS32_UART3 UART5 |
#define | MIOS32_UART3_IRQ_CHANNEL UART5_IRQn |
#define | MIOS32_UART3_IRQHANDLER_FUNC void UART5_IRQHandler(void) |
#define | MIOS32_UART3_REMAP_FUNC { GPIO_PinAFConfig(GPIOC, GPIO_PinSource12, GPIO_AF_UART5); GPIO_PinAFConfig(GPIOD, GPIO_PinSource2, GPIO_AF_UART5); } |
Functions | |
s32 | MIOS32_UART_BaudrateSet (u8 uart, u32 baudrate) |
u32 | MIOS32_UART_BaudrateGet (u8 uart) |
s32 | MIOS32_UART_RxBufferFree (u8 uart) |
s32 | MIOS32_UART_RxBufferUsed (u8 uart) |
s32 | MIOS32_UART_RxBufferGet (u8 uart) |
s32 | MIOS32_UART_RxBufferPeek (u8 uart) |
s32 | MIOS32_UART_RxBufferPut (u8 uart, u8 b) |
s32 | MIOS32_UART_TxBufferFree (u8 uart) |
s32 | MIOS32_UART_TxBufferUsed (u8 uart) |
s32 | MIOS32_UART_TxBufferGet (u8 uart) |
s32 | MIOS32_UART_TxBufferPutMore_NonBlocking (u8 uart, u8 *buffer, u16 len) |
s32 | MIOS32_UART_TxBufferPutMore (u8 uart, u8 *buffer, u16 len) |
s32 | MIOS32_UART_TxBufferPut_NonBlocking (u8 uart, u8 b) |
s32 | MIOS32_UART_TxBufferPut (u8 uart, u8 b) |
s32 | MIOS32_UART_Init (u32 mode) |
U(S)ART functions for MIOS32
Applications shouldn't call these functions directly, instead please use MIOS32_COM or MIOS32_MIDI layer functions
#define LSR_BI 0x10 |
#define LSR_FE 0x08 |
#define LSR_OE 0x02 |
#define LSR_PE 0x04 |
#define LSR_RDR 0x01 |
#define LSR_RXFE 0x80 |
#define LSR_TEMT 0x40 |
#define LSR_THRE 0x20 |
#define MIOS32_UART0 USART2 |
#define MIOS32_UART0 USART1 |
#define MIOS32_UART0 LPC_UART1 |
#define MIOS32_UART0_IRQ_CHANNEL USART2_IRQn |
#define MIOS32_UART0_IRQ_CHANNEL USART1_IRQn |
#define MIOS32_UART0_IRQ_CHANNEL UART1_IRQn |
#define MIOS32_UART0_IRQHANDLER_FUNC void USART2_IRQHandler(void) |
#define MIOS32_UART0_IRQHANDLER_FUNC void USART1_IRQHandler(void) |
#define MIOS32_UART0_IRQHANDLER_FUNC void USART1_IRQHandler(void) |
#define MIOS32_UART0_IRQHANDLER_FUNC void UART1_IRQHandler(void) |
#define MIOS32_UART0_REMAP_FUNC { GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_USART2); GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_USART2); } |
#define MIOS32_UART0_REMAP_FUNC {} |
#define MIOS32_UART0_RX_INIT { MIOS32_SYS_LPC_PINSEL(2, 1, 2); MIOS32_SYS_LPC_PINMODE(2, 1, 0); } |
#define MIOS32_UART0_RX_PIN GPIO_Pin_3 |
#define MIOS32_UART0_RX_PIN GPIO_Pin_10 |
#define MIOS32_UART0_RX_PORT GPIOA |
#define MIOS32_UART0_RX_PORT GPIOA |
#define MIOS32_UART0_TX_INIT { MIOS32_SYS_LPC_PINSEL(2, 0, 2); MIOS32_SYS_LPC_PINMODE(2, 0, 2); MIOS32_SYS_LPC_PINMODE_OD(2, 0, 1); } |
#define MIOS32_UART0_TX_PIN GPIO_Pin_2 |
#define MIOS32_UART0_TX_PIN GPIO_Pin_9 |
#define MIOS32_UART0_TX_PORT GPIOA |
#define MIOS32_UART0_TX_PORT GPIOA |
#define MIOS32_UART1 USART3 |
#define MIOS32_UART1 USART3 |
#define MIOS32_UART1 LPC_UART3 |
#define MIOS32_UART1_IRQ_CHANNEL USART3_IRQn |
#define MIOS32_UART1_IRQ_CHANNEL USART3_IRQn |
#define MIOS32_UART1_IRQ_CHANNEL UART3_IRQn |
#define MIOS32_UART1_IRQHANDLER_FUNC void USART3_IRQHandler(void) |
#define MIOS32_UART1_IRQHANDLER_FUNC void USART3_IRQHandler(void) |
#define MIOS32_UART1_IRQHANDLER_FUNC void USART3_IRQHandler(void) |
#define MIOS32_UART1_IRQHANDLER_FUNC void UART3_IRQHandler(void) |
#define MIOS32_UART1_REMAP_FUNC { GPIO_PinAFConfig(GPIOD, GPIO_PinSource8, GPIO_AF_USART3); GPIO_PinAFConfig(GPIOD, GPIO_PinSource9, GPIO_AF_USART3); } |
#define MIOS32_UART1_REMAP_FUNC { GPIO_PinRemapConfig(GPIO_PartialRemap_USART3, ENABLE); } |
#define MIOS32_UART1_RX_INIT { MIOS32_SYS_LPC_PINSEL(0, 1, 2); MIOS32_SYS_LPC_PINMODE(0, 1, 0); } |
#define MIOS32_UART1_RX_PIN GPIO_Pin_9 |
#define MIOS32_UART1_RX_PIN GPIO_Pin_11 |
#define MIOS32_UART1_RX_PORT GPIOD |
#define MIOS32_UART1_RX_PORT GPIOC |
#define MIOS32_UART1_TX_INIT { MIOS32_SYS_LPC_PINSEL(0, 0, 2); MIOS32_SYS_LPC_PINMODE(0, 0, 2); MIOS32_SYS_LPC_PINMODE_OD(0, 0, 1); } |
#define MIOS32_UART1_TX_PIN GPIO_Pin_8 |
#define MIOS32_UART1_TX_PIN GPIO_Pin_10 |
#define MIOS32_UART1_TX_PORT GPIOD |
#define MIOS32_UART1_TX_PORT GPIOC |
#define MIOS32_UART2 USART2 |
#define MIOS32_UART2 LPC_UART0 |
#define MIOS32_UART2_IRQ_CHANNEL USART2_IRQn |
#define MIOS32_UART2_IRQ_CHANNEL UART0_IRQn |
#define MIOS32_UART2_IRQHANDLER_FUNC void USART2_IRQHandler(void) |
#define MIOS32_UART2_IRQHANDLER_FUNC void UART0_IRQHandler(void) |
#define MIOS32_UART2_REMAP_FUNC { GPIO_PinAFConfig(GPIOC, GPIO_PinSource6, GPIO_AF_USART6); GPIO_PinAFConfig(GPIOB, GPIO_PinSource7, GPIO_AF_USART1); } |
#define MIOS32_UART2_REMAP_FUNC {} |
#define MIOS32_UART2_RX USART1 |
#define MIOS32_UART2_RX_INIT { MIOS32_SYS_LPC_PINSEL(0, 3, 1); MIOS32_SYS_LPC_PINMODE(0, 3, 0); } |
#define MIOS32_UART2_RX_IRQ_CHANNEL USART1_IRQn |
#define MIOS32_UART2_RX_IRQHANDLER_FUNC void USART1_IRQHandler(void) |
#define MIOS32_UART2_RX_PIN GPIO_Pin_7 |
#define MIOS32_UART2_RX_PIN GPIO_Pin_3 |
#define MIOS32_UART2_RX_PORT GPIOB |
#define MIOS32_UART2_RX_PORT GPIOA |
#define MIOS32_UART2_TX USART6 |
#define MIOS32_UART2_TX_INIT { MIOS32_SYS_LPC_PINSEL(0, 2, 1); MIOS32_SYS_LPC_PINMODE(0, 2, 2); MIOS32_SYS_LPC_PINMODE_OD(0, 2, 1); } |
#define MIOS32_UART2_TX_IRQ_CHANNEL USART6_IRQn |
#define MIOS32_UART2_TX_IRQHANDLER_FUNC void USART6_IRQHandler(void) |
#define MIOS32_UART2_TX_PIN GPIO_Pin_6 |
#define MIOS32_UART2_TX_PIN GPIO_Pin_2 |
#define MIOS32_UART2_TX_PORT GPIOC |
#define MIOS32_UART2_TX_PORT GPIOA |
#define MIOS32_UART3 UART5 |
#define MIOS32_UART3 LPC_UART2 |
#define MIOS32_UART3_IRQ_CHANNEL UART5_IRQn |
#define MIOS32_UART3_IRQ_CHANNEL UART2_IRQn |
#define MIOS32_UART3_IRQHANDLER_FUNC void UART5_IRQHandler(void) |
#define MIOS32_UART3_IRQHANDLER_FUNC void UART2_IRQHandler(void) |
#define MIOS32_UART3_REMAP_FUNC { GPIO_PinAFConfig(GPIOC, GPIO_PinSource12, GPIO_AF_UART5); GPIO_PinAFConfig(GPIOD, GPIO_PinSource2, GPIO_AF_UART5); } |
#define MIOS32_UART3_RX_INIT { MIOS32_SYS_LPC_PINSEL(0, 11, 1); MIOS32_SYS_LPC_PINMODE(0, 11, 0); } |
#define MIOS32_UART3_RX_PIN GPIO_Pin_2 |
#define MIOS32_UART3_RX_PORT GPIOD |
#define MIOS32_UART3_TX_INIT { MIOS32_SYS_LPC_PINSEL(0, 10, 1); MIOS32_SYS_LPC_PINMODE(0, 10, 2); MIOS32_SYS_LPC_PINMODE_OD(0, 10, 1); } |
#define MIOS32_UART3_TX_PIN GPIO_Pin_12 |
#define MIOS32_UART3_TX_PORT GPIOC |
#define NUM_SUPPORTED_UARTS MIOS32_UART_NUM |
#define NUM_SUPPORTED_UARTS 3 |
#define UART_PERIPHERAL_FRQ (MIOS32_SYS_CPU_FREQUENCY/4) |
returns the current baudrate of a UART port
[in] | uart | UART number (0..2) |
sets the baudrate of a UART port
[in] | uart | UART number (0..2) |
[in] | baudrate | the baudrate |
Initializes UART interfaces
[in] | mode | currently only mode 0 supported |
returns number of free bytes in receive buffer
[in] | uart | UART number (0..2) |
returns number of free bytes in receive buffer
[in] | uart | UART number (0..1) |
gets a byte from the receive buffer
[in] | uart | UART number (0..2) |
gets a byte from the receive buffer
[in] | uart | UART number (0..1) |
returns the next byte of the receive buffer without taking it
[in] | uart | UART number (0..2) |
returns the next byte of the receive buffer without taking it
[in] | uart | UART number (0..1) |
puts a byte onto the receive buffer
[in] | uart | UART number (0..2) |
[in] | b | byte which should be put into Rx buffer |
puts a byte onto the receive buffer
[in] | uart | UART number (0..1) |
[in] | b | byte which should be put into Rx buffer |
returns number of used bytes in receive buffer
[in] | uart | UART number (0..2) |
returns number of used bytes in receive buffer
[in] | uart | UART number (0..1) |
returns number of free bytes in transmit buffer
[in] | uart | UART number (0..2) |
returns number of free bytes in transmit buffer
[in] | uart | UART number (0..1) |
gets a byte from the transmit buffer
[in] | uart | UART number (0..2) |
gets a byte from the transmit buffer
[in] | uart | UART number (0..1) |
puts a byte onto the transmit buffer
(blocking function)
[in] | uart | UART number (0..2) |
[in] | b | byte which should be put into Tx buffer |
puts a byte onto the transmit buffer
(blocking function)
[in] | uart | UART number (0..1) |
[in] | b | byte which should be put into Tx buffer |
puts a byte onto the transmit buffer
[in] | uart | UART number (0..2) |
[in] | b | byte which should be put into Tx buffer |
puts a byte onto the transmit buffer
[in] | uart | UART number (0..1) |
[in] | b | byte which should be put into Tx buffer |
puts more than one byte onto the transmit buffer (used for atomic sends)
(blocking function)
[in] | uart | UART number (0..2) |
[in] | *buffer | pointer to buffer to be sent |
[in] | len | number of bytes to be sent |
puts more than one byte onto the transmit buffer (used for atomic sends)
(blocking function)
[in] | uart | UART number (0..1) |
[in] | *buffer | pointer to buffer to be sent |
[in] | len | number of bytes to be sent |
puts more than one byte onto the transmit buffer (used for atomic sends)
[in] | uart | UART number (0..2) |
[in] | *buffer | pointer to buffer to be sent |
[in] | len | number of bytes to be sent |
puts more than one byte onto the transmit buffer (used for atomic sends)
[in] | uart | UART number (0..1) |
[in] | *buffer | pointer to buffer to be sent |
[in] | len | number of bytes to be sent |
returns number of used bytes in transmit buffer
[in] | uart | UART number (0..2) |
returns number of used bytes in transmit buffer
[in] | uart | UART number (0..1) |