- Main Page
- Modules
- Data Structures
- Files
- Related Pages

# uart_lib.c File Reference

`#include "config.h"`
`#include "lib_mcu/uart/uart_lib.h"`

Include dependency graph for uart_lib.c:

Go to the source code of this file.

## Functions
bit | uart_test_hit (void)
bit | uart_init (void)
r_uart_ptchar | uart_putchar (p_uart_ptchar ch)
char | uart_getchar (void)

## Detailed Description

This file provides a minimal VT100 terminal access through UART and compatibility with Custom I/O support - Compiler: IAR EWAVR and GNU GCC for AVR

- Supported devices: AT90USB1287, AT90USB1286, AT90USB647, AT90USB646
  Author:
    Atmel Corporation: http://www.atmel.com
    Support and FAQ: http://support.atmel.no/

Definition in file uart_lib.c.

## Function Documentation

bit uart_test_hit | ( | void |  | ) |

This function allows to inform if a character was received

Returns:
  True if character received.

Definition at line 55 of file uart_lib.c.

    00056 {
    00057 return Uart_rx_ready();
    00058 }

bit uart_init | ( | void |  | ) |

This function configures the UART configuration and timming following the constant definition of BAUDRATE and enables the UART controller.

Precondition:
  before calling this function some declaration must be define in config.h:
  - FOSC Frequency of crystal in kHz (mandatory)Standard crystals available
  - BAUDRATE Baudrate in bit per second used for UART configuration (mandatory)
  - UART_CONFIG : (by default 8 bits| 1 bit stop |without parity)

Definition at line 61 of file uart_lib.c.

Referenced by ushell_task_init().

    00062 {
    00063 #ifndef UART_U2
    00064   Uart_set_baudrate(BAUDRATE);
    00065   Uart_hw_init(UART_CONFIG);
    00066 #else
    00067   Uart_set_baudrate(BAUDRATE/2);
    00068   Uart_double_bdr();
    00069   Uart_hw_init(UART_CONFIG);
    00070
    00071 #endif
    00072   Uart_enable();
    00073   return TRUE;
    00074 }

Here is the caller graph for this function:

r_uart_ptchar uart_putchar | ( | p_uart_ptchar | uc_wr_byte | ) |

This function allows to send a character on the UART

Parameters:

  | uc_wr_byte | character to print on UART.

Returns:
  character sent.

Note:
  the type p_uart_ptchar and r_uart_ptchar can be define to macth with a printf need.

Definition at line 77 of file uart_lib.c.

    00078 {
    00079   while(!Uart_tx_ready());
    00080   Uart_set_tx_busy(); // Set Busy flag before sending (always)
    00081   Uart_send_byte(ch);
    00082
    00083   return ch;
    00084 }

char uart_getchar | ( | void |  | ) |

This function allows to get a character from the UART

Returns:
  character read.

Definition at line 89 of file uart_lib.c.

    00090 {
    00091   register char c;
    00092
    00093   while(!Uart_rx_ready());
    00094   c = Uart_get_byte();
    00095   Uart_ack_rx_byte();
    00096   return c;
    00097 }