简体   繁体   English

如何使用HAL_UART_Receive()从stm32中的quectel L89 GPS模块读取数据?

[英]how to read data from quectel L89 GPS module in stm32 using HAL_UART_Receive()?

I am using STM32F103C8T6 board and CubeMX to generate the code. 我正在使用STM32F103C8T6板和CubeMX来生成代码。 I need to receive the GPS data from Quectel L89 module from UART2 port. 我需要从UART2端口接收Quectel L89模块的GPS数据。 when I try that I get some junk values only... I am using HAL_UART_Receive to receive data and print it in the putty console. 当我尝试我只得到一些垃圾值...我正在使用HAL_UART_Receive接收数据并在putty控制台中打印它。 Any help would be greatly appreciated. 任何帮助将不胜感激。

This is my code. 这是我的代码。

void task1(void)
{


char *buffer = NULL;
  buffer = (char*)malloc(400 * sizeof(char));
  while(1)
  {
  HAL_UART_Receive(&huart2,buffer,350,500);
  int size = strlen(buffer);

  HAL_UART_Transmit(&huart1,buffer,size,500);
  HAL_Delay(1000);
  }

}

Image of the Result 结果图

try this 尝试这个

HAL_UART_Receive(&huart2,(uint8_t *)buffer,350,500);

and

HAL_UART_Transmit(&huart1,(uint8_t *)buffer,size,500);

Because arguments needed for HAL functions are of uint8_t * type. 因为HAL函数所需的参数是uint8_t *类型。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM