| 
				
				
				
				 | 
			
			 | 
			@@ -0,0 +1,72 @@ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			#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(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			} |