|
- #include "unittest_transport.h"
- #include <main.h>
-
- #define USARTx USART2
- #define USARTx_CLK_ENABLE() __HAL_RCC_USART2_CLK_ENABLE()
- #define USARTx_CLK_DISABLE() __HAL_RCC_USART2_CLK_DISABLE()
- #define USARTx_RX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
- #define USARTx_TX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
- #define USARTx_RX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE()
- #define USARTx_TX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE()
-
- #define USARTx_FORCE_RESET() __HAL_RCC_USART2_FORCE_RESET()
- #define USARTx_RELEASE_RESET() __HAL_RCC_USART2_RELEASE_RESET()
-
- #define USARTx_TX_PIN GPIO_PIN_2
- #define USARTx_TX_GPIO_PORT GPIOA
- #define USARTx_TX_AF GPIO_AF7_USART2
- #define USARTx_RX_PIN GPIO_PIN_3
- #define USARTx_RX_GPIO_PORT GPIOA
- #define USARTx_RX_AF GPIO_AF7_USART2
-
-
- static UART_HandleTypeDef UartHandle;
-
- void unittest_uart_begin()
- {
- GPIO_InitTypeDef GPIO_InitStruct;
-
- USARTx_TX_GPIO_CLK_ENABLE();
- USARTx_RX_GPIO_CLK_ENABLE();
-
- USARTx_CLK_ENABLE();
-
- GPIO_InitStruct.Pin = USARTx_TX_PIN;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_PULLUP;
- GPIO_InitStruct.Speed = GPIO_SPEED_FAST;
- GPIO_InitStruct.Alternate = USARTx_TX_AF;
-
- HAL_GPIO_Init(USARTx_TX_GPIO_PORT, &GPIO_InitStruct);
-
- GPIO_InitStruct.Pin = USARTx_RX_PIN;
- GPIO_InitStruct.Alternate = USARTx_RX_AF;
-
- HAL_GPIO_Init(USARTx_RX_GPIO_PORT, &GPIO_InitStruct);
- UartHandle.Instance = USARTx;
-
- UartHandle.Init.BaudRate = 115200; // Or 9600
- UartHandle.Init.WordLength = UART_WORDLENGTH_8B;
- UartHandle.Init.StopBits = UART_STOPBITS_1;
- UartHandle.Init.Parity = UART_PARITY_NONE;
- UartHandle.Init.HwFlowCtl = UART_HWCONTROL_NONE;
- UartHandle.Init.Mode = UART_MODE_TX_RX;
- UartHandle.Init.OverSampling = UART_OVERSAMPLING_16;
-
- if (HAL_UART_Init(&UartHandle) != HAL_OK) {
- while (1) {}
- }
- }
-
- void unittest_uart_putchar(char c)
- {
- HAL_UART_Transmit(&UartHandle, (uint8_t*)(&c), 1, 1000);
- }
-
- void unittest_uart_flush() {}
-
- void unittest_uart_end() {
- USARTx_CLK_DISABLE();
- USARTx_RX_GPIO_CLK_DISABLE();
- USARTx_TX_GPIO_CLK_DISABLE();
- }
|