diff --git a/src/usart.c b/src/usart.c --- a/src/usart.c +++ b/src/usart.c @@ -1,44 +1,21 @@ +#include "stm32f0xx_hal.h" + #include "usart.h" - +#include "config.h" #include "gpio.h" #include "dma.h" -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ - -//UART_HandleTypeDef huart1; -//DMA_HandleTypeDef hdma_usart1_rx; -//DMA_HandleTypeDef hdma_usart1_tx; - -/* USART1 init function */ -/* -void MX_USART1_UART_Init(void) -{ +UART_HandleTypeDef huart1; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; - huart1.Instance = USART1; - huart1.Init.BaudRate = 9600; - huart1.Init.WordLength = UART_WORDLENGTH_8B; - huart1.Init.StopBits = UART_STOPBITS_1; - huart1.Init.Parity = UART_PARITY_NONE; - huart1.Init.Mode = UART_MODE_TX_RX; - huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; - huart1.Init.OverSampling = UART_OVERSAMPLING_16; - huart1.Init.OneBitSampling = UART_ONEBIT_SAMPLING_DISABLED ; - huart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; - HAL_UART_Init(&huart1); - -} -*/ -/* -void HAL_UART_MspInit(UART_HandleTypeDef* huart) +void uart_init(void) { - - GPIO_InitTypeDef GPIO_InitStruct; - if(huart->Instance==USART1) - { __USART1_CLK_ENABLE(); + GPIO_InitTypeDef GPIO_InitStruct; + + // Init gpio pins for uart GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_PULLUP; @@ -46,7 +23,20 @@ void HAL_UART_MspInit(UART_HandleTypeDef GPIO_InitStruct.Alternate = GPIO_AF0_USART1; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); - + // Init UART periph + huart1.Instance = USART1; + huart1.Init.BaudRate = GPS_BAUDRATE; + huart1.Init.WordLength = UART_WORDLENGTH_8B; + huart1.Init.StopBits = UART_STOPBITS_1; + huart1.Init.Parity = UART_PARITY_NONE; + huart1.Init.Mode = UART_MODE_TX_RX; + huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart1.Init.OverSampling = UART_OVERSAMPLING_16; + huart1.Init.OneBitSampling = UART_ONEBIT_SAMPLING_DISABLED ; + huart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; + HAL_UART_Init(&huart1); + + /* // Init UART DMA hdma_usart1_rx.Instance = DMA1_Channel3; hdma_usart1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; hdma_usart1_rx.Init.PeriphInc = DMA_PINC_DISABLE; @@ -70,9 +60,12 @@ void HAL_UART_MspInit(UART_HandleTypeDef HAL_DMA_Init(&hdma_usart1_tx); __HAL_LINKDMA(huart,hdmatx,hdma_usart1_tx); - +*/ HAL_NVIC_SetPriority(USART1_IRQn, 0, 0); HAL_NVIC_EnableIRQ(USART1_IRQn); - } } -*/ + +UART_HandleTypeDef* uart_gethandle(void) +{ + return &huart1; +}