view Small_CPU/Src/uart.c @ 569:3508e6dc4f22

Added new section "lower.font": To avoid section overlap caused by the memory needs of the new characters, a new section has been introduced to store the font data behind the code and data sections. The handling is a little bit overengineered but was used to have the same look as the upper section, where a defined structure had to be rebuild to match the output of another compiler. moving the lower section behind the upper would save firmware space but result in the need of a new fontlib version.
author Ideenmodellierer
date Mon, 30 Nov 2020 20:52:49 +0100
parents 5f11787b4f42
children 1b995079c045
line wrap: on
line source

/**
  ******************************************************************************
  * @file    uart.c 
  * @author  heinrichs weikamp gmbh
  * @version V0.0.1
  * @date    27-March-2014
  * @brief   button control
  *           
  @verbatim                 
  ============================================================================== 
                        ##### How to use #####
  ============================================================================== 
  @endverbatim
  ******************************************************************************
  * @attention
  *
  * <h2><center>&copy; COPYRIGHT(c) 2015 heinrichs weikamp</center></h2>
  *
  ******************************************************************************
  */ 
/* Includes ------------------------------------------------------------------*/
#include "uart.h"

/* Private variables ---------------------------------------------------------*/

UART_HandleTypeDef huart2;


/* Exported functions --------------------------------------------------------*/

void MX_USART2_UART_Init(void)
{
/* pullup special */
  GPIO_InitTypeDef   GPIO_InitStructure;
  __GPIOA_CLK_ENABLE();
  GPIO_InitStructure.Pin = GPIO_PIN_2;
  GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStructure.Pull = GPIO_PULLUP;
  GPIO_InitStructure.Speed = GPIO_SPEED_FAST;
  HAL_GPIO_Init(GPIOA, &GPIO_InitStructure); 

/* regular init */	
  huart2.Instance = USART2;
  huart2.Init.BaudRate = 1200;
  huart2.Init.WordLength = UART_WORDLENGTH_8B;
  huart2.Init.StopBits = UART_STOPBITS_1;
  huart2.Init.Parity = UART_PARITY_NONE;
  huart2.Init.Mode = UART_MODE_TX_RX;
  huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
  huart2.Init.OverSampling = UART_OVERSAMPLING_16;
  HAL_UART_Init(&huart2);
}


uint8_t UART_ButtonAdjust(uint8_t *array)
{
	uint8_t answer[4];
	
	HAL_UART_Transmit(&huart2,array,4,1000);
	HAL_UART_Receive(&huart2,answer,4,2000);
	if(	(answer[0] == array[0])
		&&(answer[1] == array[1])
		&&(answer[2] == array[2])
		&&(answer[3] == array[3]))
	return 1;
	else
	return 0;
}

void MX_USART2_UART_DeInit(void)
{
	HAL_UART_DeInit(&huart2);
}


/************************ (C) COPYRIGHT heinrichs weikamp *****END OF FILE****/