EE445M RTOS
Taken at the University of Texas Spring 2015
uart.h
Go to the documentation of this file.
1 /* -*- mode: c; c-basic-offset: 4; -*- */
2 #ifndef __UART__
3 #define __UART__
4 
5 #include <stdbool.h>
6 
7 #include "libhw/hardware.h"
8 
14 #define UART_DEFAULT_BAUD_RATE 115200
15 
17 static bool UART_LAST_WAS_CR;
18 
20 #define uart_metadata_init_(_name, _baud_rate, _channel, _interrupt) \
21  hw_metadata _name; \
22  _name.uart = (hw_uart_metadata) { \
23  .baud_rate = (uint32_t) _baud_rate, \
24  .channel = (memory_address_t) _channel, \
25  .interrupt = (memory_address_t) _interrupt \
26  }
27 
29 #define uart_metadata_init(_baud_rate, _channel, _interrupt) \
30  uart_metadata_init_(uart_metadata, _baud_rate, _channel, _interrupt)
31 
36 
42 
47 void uart_send_char(const char);
48 
54 void uart_send_char_(hw_metadata, const char);
55 
60 void uart_send_string(const char*);
61 
67 void uart_send_string_(hw_metadata, const char*);
68 
74 char uart_get_char();
75 
83 
90 char* uart_get_string(const long);
91 
99 char* uart_get_string_(hw_metadata, const long);
100 
101 #endif
102 
char uart_get_char()
Read a char from the active uart channel.
Definition: uart.c:87
void uart_send_string(const char *text)
Definition: uart.c:71
void uart_send_char_(hw_metadata metadata, const char text)
Definition: uart.c:65
char uart_get_char_(hw_metadata metadata)
Read a char from the specified uart channel.
Definition: uart.c:92
char * uart_get_string_(hw_metadata metadata, const long string_length)
Read a char array from the active uart channel.
Definition: uart.c:111
char * uart_get_string(const long string_length)
Read a char array from the active uart channel.
Definition: uart.c:106
void uart_send_char(const char text)
Definition: uart.c:59
void uart_set_active_channel(hw_metadata)
void uart_init(hw_metadata metadata)
Definition: uart.c:39
void uart_send_string_(hw_metadata metadata, const char *text)
Definition: uart.c:76
static bool UART_LAST_WAS_CR
Definition: uart.h:17