45 lines
1.6 KiB
C
45 lines
1.6 KiB
C
|
/************************************************************************//**
|
||
|
* \file ext_uart.h
|
||
|
* \brief Function to use the extension uart
|
||
|
* \author pascal (dot) sartoretti (at) hevs (dot) ch
|
||
|
***************************************************************************/
|
||
|
|
||
|
|
||
|
#ifndef __EXT_UART_H
|
||
|
#define __EXT_UART_H
|
||
|
|
||
|
#include <stdint.h>
|
||
|
#include "stm32f7xx_hal.h"
|
||
|
|
||
|
extern UART_HandleTypeDef ext_uart; // extension uart handle
|
||
|
|
||
|
/************************************************************************//**
|
||
|
* \brief Inits the extension uart
|
||
|
* \param speed This si the uart speed selected for example 115200.
|
||
|
* The extension uart could be use with or without interrupts.
|
||
|
*
|
||
|
* Without interrupts:
|
||
|
* -------------------
|
||
|
* To send something on the uart, you have to use HAL_UART_Transmit function
|
||
|
* as the example below.
|
||
|
* error = HAL_UART_Transmit(&ext_uart, msg, sizeof(msg),50);
|
||
|
* To receive you have to use HAL_UART_Receive as example below.
|
||
|
* error = HAL_UART_Receive(&ext_uart, msg, sizeof(msg),HAL_MAX_DELAY);
|
||
|
* The HAL_MAX_DELAY waits until receive is finished.
|
||
|
*
|
||
|
* With interrupts:
|
||
|
* ----------------
|
||
|
* The functions below have to be used:
|
||
|
* HAL_UART_Transmit_IT(&ext_uart," Welcome\n\r", 10);
|
||
|
* HAL_UART_Receive_IT(&ext_uart,data,8);
|
||
|
*
|
||
|
* The callback functions above could be implemented for usage on interrupt
|
||
|
* mode when the full size is transmitted (or received).
|
||
|
* void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
|
||
|
* void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
|
||
|
*
|
||
|
***************************************************************************/
|
||
|
extern void Ext_UART_Init(uint32_t speed);
|
||
|
|
||
|
#endif /* __BOARD_LED_H */
|