你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】stm32f7 HAL库 串口重定向 使用printf

[复制链接]
STMCU小助手 发布时间:2021-12-16 22:00
首先将串口初始化,然后添加重定向代码
) {, C; r3 P" q4 N3 r3 g% v) R, \/ L5 L; Z; a
下面使用的是串口三,因此以串口三为例:; A7 U; f+ a) J# q. I% {

' q  ~$ f, [7 g; k: d
  1. UART_HandleTypeDef huart3;
    7 `& d$ O$ a9 o1 ?7 Q
  2. #ifdef __GNUC__% r8 ?9 d7 c$ E. m/ k/ c. ~
  3. /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
    * {7 q. s, @* D' `& |4 Y
  4. set to 'Yes') calls __io_putchar() */9 c% D. ]! Z) m
  5. #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)$ _, E: z6 Y- j8 J  Y# X7 ~
  6. #else# `! Q5 c: w  {4 m
  7. #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)1 \( S/ S/ q* A$ _
  8. #endif /* __GNUC__ */7 R- o6 Q0 B9 W
  9. /**2 C3 t# g4 j) j. V9 ~( `7 G' a
  10. * @brief Retargets the C library printf function to the USART.$ e, a% V6 b6 m
  11. * @param None
    % `2 L" I' R1 I" Z) [$ m- i- ~
  12. * @retval None
    , `0 p9 g, X+ s5 M+ M1 F; \) Q0 E
  13. */2 C6 S# n1 Z) K0 N; f/ s( A
  14. PUTCHAR_PROTOTYPE
      Q+ d4 M$ Q; ^: c
  15. {
    # c( Y8 d$ ?% X6 A
  16.   /* Place your implementation of fputc here */# Z/ f  {5 f( w. z- T6 k; j; g$ T
  17.   /* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */0 i+ J' ?4 c! @1 z5 v
  18.   HAL_UART_Transmit(&huart3, (uint8_t *)&ch, 1, 0x0001);/ I6 g5 t; ^% S+ ~: k/ `( q3 d
  19.   return ch;
    / i& C. M& ~5 \2 l" n- f
  20. }
复制代码
/ g! p9 l6 z, O/ _* W/ w) ]
' H8 `8 B9 `5 H, I5 ~* j, y
添加完代码后就可以使用printf进行打印了~
: Y1 N5 D& g+ f( u
/ e( Q4 A  e6 Z1 v6 {
+ C& M% M7 h  O7 B* y$ p
收藏 评论0 发布时间:2021-12-16 22:00

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版