a5046e83c7
This is a general cleanup of things like code style issues and code structure of the STM32w port to make it more like the rest of Contiki is structured.
72 lines
2.1 KiB
C
72 lines
2.1 KiB
C
/** @file hal/micro/cortexm3/uart.h
|
|
* @brief Header for STM32W uart drivers, supporting IAR's standard library
|
|
* IO routines.
|
|
*
|
|
* <!--(C) COPYRIGHT 2010 STMicroelectronics. All rights reserved. -->
|
|
*/
|
|
|
|
#ifndef __UART_MIN_H__
|
|
#define __UART_MIN_H__
|
|
#ifdef __ICCARM__
|
|
#include <yfuns.h>
|
|
#endif
|
|
|
|
/**
|
|
* @brief A list of the possible values for the parity parameter to uartInit()
|
|
*/
|
|
typedef enum
|
|
{
|
|
PARITY_NONE = 0,
|
|
PARITY_ODD = 1,
|
|
PARITY_EVEN = 2
|
|
} SerialParity;
|
|
|
|
/**
|
|
* @brief Initialize the UART
|
|
*
|
|
* @param baudrate The baudrate which will be used for communication.
|
|
* Ex: 115200
|
|
*
|
|
* @param databits The number of data bits used for communication.
|
|
* Valid values are 7 or 8
|
|
*
|
|
* @param parity The type of parity used for communication.
|
|
* See the SerialParity enum for possible values
|
|
*
|
|
* @return stopbits The number of stop bits used for communication.
|
|
* Valid values are 1 or 2
|
|
*/
|
|
void uartInit(uint32_t baudrate, uint8_t databits, SerialParity parity, uint8_t stopbits);
|
|
|
|
#ifdef __ICCARM__
|
|
/**
|
|
* @brief Flush the output stream. DLib_Config_Full.h defines fflush(), but
|
|
* this library includes too much code so we compile with DLib_Config_Normal.h
|
|
* instead which does not define fflush(). Therefore, we manually define
|
|
* fflush() in the low level UART driver. This function simply redirects
|
|
* to the __write() function with a NULL buffer, triggering a flush.
|
|
*
|
|
* @param handle The output stream. Should be set to 'stdout' like normal.
|
|
*
|
|
* @return Zero, indicating success.
|
|
*/
|
|
size_t fflush(int handle);
|
|
|
|
/**
|
|
* @brief Define the stdout stream. Since we compile with DLib_Config_Normal.h
|
|
* it does not define 'stdout'. There is a low-level IO define '_LLIO_STDOUT'
|
|
* which is equivalent to stdout. Therefore, we define 'stdout' to be
|
|
* '_LLIO_STDOUT'.
|
|
*/
|
|
#define stdout _LLIO_STDOUT
|
|
#endif
|
|
/**
|
|
* @brief Read the input byte if any.
|
|
*/
|
|
boolean __io_getcharNonBlocking(uint8_t *data);
|
|
void __io_putchar( char c );
|
|
int __io_getchar(void);
|
|
void __io_flush( void );
|
|
|
|
|
|
#endif //__UART_MIN_H__
|