38
+ − 1 /**
+ − 2 ******************************************************************************
+ − 3 * @file uart.c
+ − 4 * @author heinrichs weikamp gmbh
+ − 5 * @version V0.0.1
+ − 6 * @date 27-March-2014
+ − 7 * @brief button control
+ − 8 *
+ − 9 @verbatim
+ − 10 ==============================================================================
+ − 11 ##### How to use #####
+ − 12 ==============================================================================
+ − 13 @endverbatim
+ − 14 ******************************************************************************
+ − 15 * @attention
+ − 16 *
+ − 17 * <h2><center>© COPYRIGHT(c) 2015 heinrichs weikamp</center></h2>
+ − 18 *
+ − 19 ******************************************************************************
+ − 20 */
+ − 21 /* Includes ------------------------------------------------------------------*/
+ − 22 #include "uart.h"
+ − 23
+ − 24 /* Private variables ---------------------------------------------------------*/
+ − 25
+ − 26 UART_HandleTypeDef huart2;
+ − 27
+ − 28
+ − 29 /* Exported functions --------------------------------------------------------*/
+ − 30
+ − 31 void MX_USART2_UART_Init(void)
+ − 32 {
+ − 33 /* pullup special */
+ − 34 GPIO_InitTypeDef GPIO_InitStructure;
+ − 35 __GPIOA_CLK_ENABLE();
+ − 36 GPIO_InitStructure.Pin = GPIO_PIN_2;
+ − 37 GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
+ − 38 GPIO_InitStructure.Pull = GPIO_PULLUP;
+ − 39 GPIO_InitStructure.Speed = GPIO_SPEED_FAST;
+ − 40 HAL_GPIO_Init(GPIOA, &GPIO_InitStructure);
+ − 41
+ − 42 /* regular init */
+ − 43 huart2.Instance = USART2;
+ − 44 huart2.Init.BaudRate = 1200;
+ − 45 huart2.Init.WordLength = UART_WORDLENGTH_8B;
+ − 46 huart2.Init.StopBits = UART_STOPBITS_1;
+ − 47 huart2.Init.Parity = UART_PARITY_NONE;
+ − 48 huart2.Init.Mode = UART_MODE_TX_RX;
+ − 49 huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
+ − 50 huart2.Init.OverSampling = UART_OVERSAMPLING_16;
+ − 51 HAL_UART_Init(&huart2);
+ − 52 }
+ − 53
+ − 54
+ − 55 uint8_t UART_ButtonAdjust(uint8_t *array)
+ − 56 {
+ − 57 uint8_t answer[4];
+ − 58
+ − 59 HAL_UART_Transmit(&huart2,array,4,1000);
+ − 60 HAL_UART_Receive(&huart2,answer,4,2000);
+ − 61 if( (answer[0] == array[0])
+ − 62 &&(answer[1] == array[1])
+ − 63 &&(answer[2] == array[2])
+ − 64 &&(answer[3] == array[3]))
+ − 65 return 1;
+ − 66 else
+ − 67 return 0;
+ − 68 }
+ − 69
+ − 70 void MX_USART2_UART_DeInit(void)
+ − 71 {
+ − 72 HAL_UART_DeInit(&huart2);
+ − 73 }
+ − 74
+ − 75
+ − 76 /************************ (C) COPYRIGHT heinrichs weikamp *****END OF FILE****/