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

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

[复制链接]
STMCU小助手 发布时间:2021-12-16 22:00
首先将串口初始化,然后添加重定向代码) c! I5 f$ u7 l9 X. R% `
# V7 z2 ^7 K! w$ O
下面使用的是串口三,因此以串口三为例:
! o( ?* P) q" ?& i# n
( _, p; U, W0 @0 l# s
  1. UART_HandleTypeDef huart3;- {( k4 C( Y# w* ]! w) Z, _
  2. #ifdef __GNUC__: U# U1 y$ x2 T3 T3 L
  3. /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf, B! }4 F# I/ _( e: J9 H
  4. set to 'Yes') calls __io_putchar() */
    ( d3 h5 {# ]& x, R* k6 _
  5. #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)- e8 L2 R5 o7 A% `! \. |! p2 x
  6. #else
    0 C8 h! z3 G" Q
  7. #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
    2 V3 i/ V- `4 N( l4 n0 L
  8. #endif /* __GNUC__ */# c! N9 p  J3 ?% z* R* J
  9. /**- @/ b# w& P! @1 I
  10. * @brief Retargets the C library printf function to the USART.9 B- K& }, b6 n
  11. * @param None
    ( e; _: V, I: v1 L! @1 w& E' @" L
  12. * @retval None
    " Y  x0 u( N  b1 ?: \8 w  N
  13. */2 e* C( e! `6 L" m! G0 e
  14. PUTCHAR_PROTOTYPE
    8 U2 ?' n2 F6 I, R8 w
  15. {( z4 K% d  M5 [. O. @
  16.   /* Place your implementation of fputc here */
    2 t( b' z, e" {" L
  17.   /* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */5 g2 S! X/ X. \5 `$ T
  18.   HAL_UART_Transmit(&huart3, (uint8_t *)&ch, 1, 0x0001);
    % }1 w( k" {: ~: J" w0 Z+ c
  19.   return ch;
    - g/ I9 V& ]6 o1 V* w
  20. }
复制代码

9 _( Q4 H2 T$ Z4 ]8 u# I8 m* W3 Q. L* }. d9 @
添加完代码后就可以使用printf进行打印了~
" E. S- b! h' L$ l; h' m% ]5 X
* `' t9 P* e3 B; Y; a8 B7 F0 R) x* R: h
收藏 评论0 发布时间:2021-12-16 22:00

举报

0个回答

所属标签

相似技术帖

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