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

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

[复制链接]
STMCU小助手 发布时间:2021-12-16 22:00
首先将串口初始化,然后添加重定向代码
1 k9 ^9 z1 d8 ^- f6 W2 P) ~3 _+ q3 T, J/ O7 m
下面使用的是串口三,因此以串口三为例:
" W+ I6 n  Z: Z7 x6 \
% J! L6 q/ R5 Y4 F0 ~
  1. UART_HandleTypeDef huart3;- y2 N% [2 Z, O, N
  2. #ifdef __GNUC__5 E/ J5 D& _/ {" T$ S% ?
  3. /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
    8 H- \8 }/ H  a
  4. set to 'Yes') calls __io_putchar() */% y$ L' Z* E6 k8 d; P
  5. #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)1 d% O$ Q3 g0 j4 J# M2 k
  6. #else
    0 f" U+ ^9 q# z/ ]
  7. #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
    . S( A5 n" o9 e, Q& n
  8. #endif /* __GNUC__ */
    8 ]+ R4 p( W4 Y- w9 ^: X! Q+ }. I
  9. /**- l7 b+ u. L! X( [
  10. * @brief Retargets the C library printf function to the USART." L3 |; i) c; Y6 p- a' ~5 C1 y0 H
  11. * @param None9 j1 m6 w) ?7 Q, j3 H! q" T
  12. * @retval None
    / o# G6 I( Y' H
  13. */
    ! J: K, s+ u# O% B
  14. PUTCHAR_PROTOTYPE+ V( z' q' \% [
  15. {
    - F: a. \  }2 H  {
  16.   /* Place your implementation of fputc here */! y% V+ C7 Y% P( ]( |' y
  17.   /* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */& `4 O( L, H- m
  18.   HAL_UART_Transmit(&huart3, (uint8_t *)&ch, 1, 0x0001);
    8 I' {2 ?1 o& D+ O
  19.   return ch;
    , J1 p+ _! k0 \5 V
  20. }
复制代码
$ o2 ?! `9 @/ a2 ^3 i/ L$ j
8 k2 ?' }2 t3 H  U0 `% d) [/ o
添加完代码后就可以使用printf进行打印了~. k* z- b1 }' H" W" Z7 }6 t
  v# r, e+ e& i! L  t5 l* [2 U
( Y$ |3 m/ C! S' C5 k0 ]
收藏 评论0 发布时间:2021-12-16 22:00

举报

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