van_BSP_ESPUart.c 946 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*
  2. * uart_rcv.c
  3. *
  4. * Created on: 2022年4月20日
  5. * Author: dell
  6. */
  7. #include <stdio.h>
  8. #include <string.h>
  9. #include <stdlib.h>
  10. #include <ctype.h>
  11. #include "onechip_include_header.h"
  12. uint8_t g_wifi_rx_buf[WIFI_RX_BUF_SIZE];
  13. uint8_t g_wifi_rx_len;
  14. void esp_receive_Rec_IDLE(UART_HandleTypeDef *huart)
  15. {
  16. if ((__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) != RESET))
  17. {
  18. __HAL_UART_CLEAR_IDLEFLAG(huart);
  19. g_wifi_rx_len = WIFI_RX_BUF_SIZE - __HAL_DMA_GET_COUNTER(huart->hdmarx);
  20. HAL_UART_DMAStop(huart);
  21. HAL_UART_Receive_DMA(huart, g_wifi_rx_buf, WIFI_RX_BUF_SIZE);
  22. }
  23. }
  24. void wifi_receive_clear(void){
  25. memset(g_wifi_rx_buf,0,WIFI_RX_BUF_SIZE);
  26. g_wifi_rx_len = 0;
  27. }
  28. void esp_receive_Rec_Start(UART_HandleTypeDef *huart){
  29. __HAL_UART_CLEAR_IDLEFLAG(huart);
  30. memset((char *)g_wifi_rx_buf,0,WIFI_RX_BUF_SIZE);
  31. HAL_UART_Receive_DMA(huart, g_wifi_rx_buf, WIFI_RX_BUF_SIZE);
  32. __HAL_UART_ENABLE_IT(huart, UART_IT_IDLE);
  33. }