usart.c 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. /**
  2. ******************************************************************************
  3. * @file usart.c
  4. * @brief This file provides code for the configuration
  5. * of the USART instances.
  6. ******************************************************************************
  7. * @attention
  8. *
  9. * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
  10. * All rights reserved.</center></h2>
  11. *
  12. * This software component is licensed by ST under BSD 3-Clause license,
  13. * the "License"; You may not use this file except in compliance with the
  14. * License. You may obtain a copy of the License at:
  15. * opensource.org/licenses/BSD-3-Clause
  16. *
  17. ******************************************************************************
  18. */
  19. /* Includes ------------------------------------------------------------------*/
  20. #include "usart.h"
  21. /* USER CODE BEGIN 0 */
  22. /* USER CODE END 0 */
  23. UART_HandleTypeDef huart6;
  24. /* USART6 init function */
  25. void MX_USART6_UART_Init(void)
  26. {
  27. huart6.Instance = USART6;
  28. huart6.Init.BaudRate = 115200;
  29. huart6.Init.WordLength = UART_WORDLENGTH_8B;
  30. huart6.Init.StopBits = UART_STOPBITS_1;
  31. huart6.Init.Parity = UART_PARITY_NONE;
  32. huart6.Init.Mode = UART_MODE_TX_RX;
  33. huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE;
  34. huart6.Init.OverSampling = UART_OVERSAMPLING_16;
  35. if (HAL_UART_Init(&huart6) != HAL_OK)
  36. {
  37. Error_Handler();
  38. }
  39. }
  40. void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
  41. {
  42. GPIO_InitTypeDef GPIO_InitStruct = {0};
  43. if(uartHandle->Instance==USART6)
  44. {
  45. /* USER CODE BEGIN USART6_MspInit 0 */
  46. /* USER CODE END USART6_MspInit 0 */
  47. /* USART6 clock enable */
  48. __HAL_RCC_USART6_CLK_ENABLE();
  49. __HAL_RCC_GPIOC_CLK_ENABLE();
  50. /**USART6 GPIO Configuration
  51. PC6 ------> USART6_TX
  52. PC7 ------> USART6_RX
  53. */
  54. GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
  55. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  56. GPIO_InitStruct.Pull = GPIO_NOPULL;
  57. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  58. GPIO_InitStruct.Alternate = GPIO_AF8_USART6;
  59. HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
  60. /* USART6 interrupt Init */
  61. HAL_NVIC_SetPriority(USART6_IRQn, 0, 0);
  62. HAL_NVIC_EnableIRQ(USART6_IRQn);
  63. /* USER CODE BEGIN USART6_MspInit 1 */
  64. /* USER CODE END USART6_MspInit 1 */
  65. }
  66. }
  67. void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
  68. {
  69. if(uartHandle->Instance==USART6)
  70. {
  71. /* USER CODE BEGIN USART6_MspDeInit 0 */
  72. /* USER CODE END USART6_MspDeInit 0 */
  73. /* Peripheral clock disable */
  74. __HAL_RCC_USART6_CLK_DISABLE();
  75. /**USART6 GPIO Configuration
  76. PC6 ------> USART6_TX
  77. PC7 ------> USART6_RX
  78. */
  79. HAL_GPIO_DeInit(GPIOC, GPIO_PIN_6|GPIO_PIN_7);
  80. /* USART6 interrupt Deinit */
  81. HAL_NVIC_DisableIRQ(USART6_IRQn);
  82. /* USER CODE BEGIN USART6_MspDeInit 1 */
  83. /* USER CODE END USART6_MspDeInit 1 */
  84. }
  85. }
  86. /* USER CODE BEGIN 1 */
  87. /* USER CODE END 1 */
  88. /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/