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

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

[复制链接]
STMCU小助手 发布时间:2021-12-16 22:00
首先将串口初始化,然后添加重定向代码
4 k& F/ \$ R* g1 F3 c( S! ~6 s  ~- V  o* V
下面使用的是串口三,因此以串口三为例:2 `( u- e1 I$ M* q1 \
( n1 X- n) C' c. T4 X5 c# \
  1. UART_HandleTypeDef huart3;+ y, |: q- H! r- g
  2. #ifdef __GNUC__" l) L$ R6 A: H
  3. /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf* \, n, z) E5 G
  4. set to 'Yes') calls __io_putchar() */
    - R' R0 \% g1 w4 l
  5. #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
    ; J- M% C1 [( k" @# W; N
  6. #else) G7 ~8 q& T+ c
  7. #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
    % K8 {# o% C7 m
  8. #endif /* __GNUC__ */
    & s0 n- D) P, _
  9. /**% [+ z0 J% n; g, L4 r
  10. * @brief Retargets the C library printf function to the USART.2 m7 X! V4 c/ m# N
  11. * @param None+ B# J$ r9 R2 `% L
  12. * @retval None/ u* {. ~$ k8 H5 N/ o6 \6 f+ z, a
  13. */
    & q/ \" t( @0 O/ J3 ]. e9 u; O
  14. PUTCHAR_PROTOTYPE6 I! f3 b6 _+ k) u: T/ e
  15. {( u* Q" p# J+ D# J
  16.   /* Place your implementation of fputc here */0 ]. S* F% t* ~$ O! \
  17.   /* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */
    ! v3 v6 O3 G' }% f
  18.   HAL_UART_Transmit(&huart3, (uint8_t *)&ch, 1, 0x0001);
    7 [& }! H. ^9 U8 }& d* {: h
  19.   return ch;  e2 M$ }( i0 ?3 G8 g. T
  20. }
复制代码
# E) d( S+ @. _: b
3 g4 ]( }/ s. E, ]- C! v9 R( l" F
添加完代码后就可以使用printf进行打印了~' G$ @; h1 f) T, B* @( C
' F8 W) k4 u/ D

  g+ V* i6 ]2 G+ F. O( ~
赞 收藏 评论0 发布时间:2021-12-16 22:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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