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

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

[复制链接]
STMCU小助手 发布时间:2021-12-16 22:00
首先将串口初始化,然后添加重定向代码
( ?( s) L. {2 o& e; V  j, L, O- D4 j! n, m7 W5 }
下面使用的是串口三,因此以串口三为例:
/ z& _6 Y$ p! W" `) ?" H# ?4 n  f  s0 e" u1 F) X
  1. UART_HandleTypeDef huart3;: G  U5 ]( ^8 z4 i
  2. #ifdef __GNUC__
    ! T2 \7 s% J8 {8 O# d7 q
  3. /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf( m% h' U% I  d
  4. set to 'Yes') calls __io_putchar() */% ^! s4 T3 w. @5 v, m1 U/ j
  5. #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
    - k6 T1 L$ Z, l; Z: ~: y+ t# a
  6. #else3 X6 \2 Z1 l+ Q- i- [) T
  7. #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
    # ?9 j, R2 W2 T$ y, Q8 s. E
  8. #endif /* __GNUC__ */
    ; T( p: l/ M. p: L5 d1 O, L
  9. /**
    ) V& x8 h7 w0 y  t' g+ b/ P( b
  10. * @brief Retargets the C library printf function to the USART.
    % l$ t3 P" z  R: t
  11. * @param None
    ; N3 w! Q' ~9 h$ |4 e
  12. * @retval None7 {" K4 U' ^6 I' G
  13. */  {) |* m+ ^" ^6 l: N" A
  14. PUTCHAR_PROTOTYPE3 p; f$ ~. Y' U/ t0 Q
  15. {
    ) q6 o0 S( X$ n
  16.   /* Place your implementation of fputc here */, \8 g6 q  x8 U9 h/ P. ]" z3 d4 h
  17.   /* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */* S2 C* q  [; g0 p
  18.   HAL_UART_Transmit(&huart3, (uint8_t *)&ch, 1, 0x0001);
    . V  o6 E* ?3 G+ ~5 _
  19.   return ch;
    + ?, n5 J1 \% }
  20. }
复制代码
/ j, M, R7 v& w  S

3 @( B2 |) A5 o  Y) D. S* J添加完代码后就可以使用printf进行打印了~
7 Z, Y/ @% Y( ]$ C' q0 {
9 r+ r) m+ [4 I: ]8 X6 G0 u* f7 X/ E# N/ e2 k6 L2 I: g( F
收藏 评论0 发布时间:2021-12-16 22:00

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版