ST意法半导体
直播中

王飞云

7年用户 1420经验值
私信 关注
[问答]

stm32f0xx_hal_uart_ex.h错误,缺少STM32F030xC检查如何修复?

CubeMX固件包:STM32Cube FW_F0 V1.10.1
中央处理器:STM32F030RC。
如果使用 ASIS,编译器会报告 UART_TXDATA_FLUSH_REQUEST is undefined。
问题在第 1 行:它错过了 STM32F030xC。
  • #if !defined(STM32F030x6) && !defined(STM32F030x8)
  • #define __HAL_UART_FLUSH_DRREGISTER(__HANDLE__)  
  •   do{               
  •       SET_BIT((__HANDLE__)->Instance->RQR, UART_RXDATA_FLUSH_REQUEST);
  •       SET_BIT((__HANDLE__)->Instance->RQR, UART_TXDATA_FLUSH_REQUEST);
  •     }  while(0)
  • #else
  • #define __HAL_UART_FLUSH_DRREGISTER(__HANDLE__)  
  •   do{               
  •       SET_BIT((__HANDLE__)->Instance->RQR, UART_RXDATA_FLUSH_REQUEST);
  •     }  while(0)
  • #endif /* !defined(STM32F030x6) && !defined(STM32F030x8) */
在检查列表中添加 STM32F030xC 之后。它编译确定。
  • #if !defined(STM32F030x6) && !defined(STM32F030x8) && !defined(STM32F030xC)
  • #define __HAL_UART_FLUSH_DRREGISTER(__HANDLE__)  
  •   do{               
  •       SET_BIT((__HANDLE__)->Instance->RQR, UART_RXDATA_FLUSH_REQUEST);
  •       SET_BIT((__HANDLE__)->Instance->RQR, UART_TXDATA_FLUSH_REQUEST);
  •     }  while(0)
  • #else
  • #define __HAL_UART_FLUSH_DRREGISTER(__HANDLE__)  
  •   do{               
  •       SET_BIT((__HANDLE__)->Instance->RQR, UART_RXDATA_FLUSH_REQUEST);
  •     }  while(0)
  • #endif /* !defined(STM32F030x6) && !defined(STM32F030x8) */
底线是:
STM32F030RC只有USART_RQR_RXFRQ,没有USART_RQR_TXFRQ
希望ST以后能修复这个错误。







回帖(1)

郭学娟

2023-1-11 14:26:11
请下载并使用包含增强功能的最新STM32CubeF0 V1.11.2并修复您的问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分