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

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

[复制链接]
STMCU小助手 发布时间:2021-12-16 22:00
首先将串口初始化,然后添加重定向代码
" _4 t; G6 P, Z6 r( _" h0 V
9 f) d! T* j" |" t5 b% S* h下面使用的是串口三,因此以串口三为例:1 @4 H; j! H0 d# C5 H
& b9 ~7 h6 @: E1 `3 I6 {6 P. I
  1. UART_HandleTypeDef huart3;
    ) `' n0 h) d! }" _, U- \
  2. #ifdef __GNUC__
    - j4 D5 ?8 t' z/ G
  3. /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf1 ?. y  D; M4 U! j! W0 ^4 U
  4. set to 'Yes') calls __io_putchar() */+ Y6 \5 T6 T. a$ Y; T, d' m+ U
  5. #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
    ( U) P9 y2 H/ _9 O+ h
  6. #else
    * D/ m/ R% @3 I' t7 a( A2 K
  7. #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f). [' W) ^8 j( Z; y
  8. #endif /* __GNUC__ */4 v3 O! q5 E8 \/ X* w" ]  g
  9. /**  |0 n' r3 Q# V5 {! x+ f
  10. * @brief Retargets the C library printf function to the USART.9 N# J) o5 p/ ]1 L4 \7 E
  11. * @param None( k+ Q% B* g; I( t
  12. * @retval None) g) l8 K: |; c' x" v
  13. */) m4 X& ]4 H3 i, j" f' K
  14. PUTCHAR_PROTOTYPE
    $ ~! }) v) d6 {9 o1 r
  15. {
    # ?; n8 k' ]5 v/ v
  16.   /* Place your implementation of fputc here */
    1 E6 `$ t7 R/ c2 q& |# \5 f' M% H/ |
  17.   /* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */1 y6 R$ A% ~' `4 k% Z/ }
  18.   HAL_UART_Transmit(&huart3, (uint8_t *)&ch, 1, 0x0001);# n7 U7 A% y  g; t0 f+ M. ?5 n
  19.   return ch;& S2 \" ~) m' F  T: A
  20. }
复制代码
+ h: |0 f$ e! U& E

: g- ]8 w% f/ ~6 H3 I0 I) T添加完代码后就可以使用printf进行打印了~! [3 }& Z# B) U3 X2 n( _
9 P4 _6 F. T6 h& }4 L& B% x* Z

( X+ N6 b$ d5 V0 k6 Z: m6 p
收藏 评论0 发布时间:2021-12-16 22:00

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版