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

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

[复制链接]
STMCU小助手 发布时间:2021-12-16 22:00
首先将串口初始化,然后添加重定向代码
; |% [/ b2 R4 p( f  N6 r( @0 o% o4 Z( c. @
下面使用的是串口三,因此以串口三为例:  r; k' b6 ~& T1 `, y
6 ^/ P  x3 x$ @% X8 P& c) i$ D
  1. UART_HandleTypeDef huart3;
    % o* y: u/ B& R& H0 j* f# c
  2. #ifdef __GNUC__
    7 ?3 R7 m# a# z& g2 h+ M
  3. /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf$ l5 L1 k. N4 \- X6 _
  4. set to 'Yes') calls __io_putchar() */) V: ^( ^9 a7 ]* T. o4 _0 ?
  5. #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)- L7 U; v3 k  |6 j; ~2 ]
  6. #else$ l5 l. w: X- n3 D0 X% K: j
  7. #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
    * B7 M( T7 K8 ~$ T
  8. #endif /* __GNUC__ */; O6 N) b+ {' _: e1 F0 i: Y
  9. /**
    ' U2 B6 h1 ~) [1 j  ^
  10. * @brief Retargets the C library printf function to the USART.9 U7 U+ a: b1 n4 A! x/ D
  11. * @param None) s$ z+ [, C* r$ t% [# M  J
  12. * @retval None
      \9 B' x7 g! v/ Z9 I/ v' x3 K+ E
  13. */  R7 {1 q9 i: k5 N' V
  14. PUTCHAR_PROTOTYPE
    - f7 `) W; \5 e: b, \
  15. {, S( k' b8 O) u3 _6 A. e
  16.   /* Place your implementation of fputc here */
    7 x4 e2 I/ Q3 I5 g; W$ p
  17.   /* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */7 e2 U) `$ h. E) Z% M7 ?
  18.   HAL_UART_Transmit(&huart3, (uint8_t *)&ch, 1, 0x0001);
    ' q8 [* v) }  r; Q, s$ W7 {
  19.   return ch;3 g. w" R1 ?! h5 q( k- I) _
  20. }
复制代码

% H( y3 y& m2 F( O+ c
3 C& ]- ]( X$ }% i7 B6 a  `添加完代码后就可以使用printf进行打印了~4 i4 V1 y4 Z' O% G  [! e* r+ ^& J
$ Q& }  r* v: @' Q7 J

# ^) y" f; T6 E7 G
赞 收藏 评论0 发布时间:2021-12-16 22:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版