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

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

[复制链接]
STMCU小助手 发布时间:2021-12-16 22:00
首先将串口初始化,然后添加重定向代码
# A0 C1 v6 @$ p. i7 Z& Z0 u! W' T% G! \& `
下面使用的是串口三,因此以串口三为例:3 J) M& `2 ?9 h! r, W# q
3 E2 i& E) K4 f/ F/ @: ^) h
  1. UART_HandleTypeDef huart3;! V  q0 t% p! N5 s& u
  2. #ifdef __GNUC__& k; H0 Q7 n# n' k, v9 K
  3. /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
    ! Z, w, \, n, B2 \
  4. set to 'Yes') calls __io_putchar() */8 A- i1 ]  L3 q5 ?" E4 _  F: y
  5. #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
    ! T, P9 G9 c" U3 @0 d
  6. #else
    9 J4 U5 B+ ]4 }2 v
  7. #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
    & v1 [: u0 d2 ]- b+ k5 `
  8. #endif /* __GNUC__ */5 K6 J: `* }4 b7 o) _
  9. /**
    ( G0 ~' a! y' h
  10. * @brief Retargets the C library printf function to the USART.
    7 E3 D$ W8 H* i- Z, h
  11. * @param None' r4 d+ [( P$ p  ?" C6 R  |
  12. * @retval None
    0 G" k6 w" D0 |+ z1 I4 I& _3 W
  13. */
    $ d( t" C" b4 k
  14. PUTCHAR_PROTOTYPE
    0 L- {* Z) A* g* Q' V- y
  15. {
    . P) O9 M: v) u4 `" o
  16.   /* Place your implementation of fputc here */
    ; R0 Q" f4 ?5 b9 a
  17.   /* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */
    3 l8 `, d5 Y" M% A
  18.   HAL_UART_Transmit(&huart3, (uint8_t *)&ch, 1, 0x0001);
    % g# l4 G$ x8 B% k" C
  19.   return ch;, U/ u  p8 U( q5 F& j" v! u) x
  20. }
复制代码
- Y) b7 B" ~* p4 O

5 a, B: P& O7 l1 @4 e添加完代码后就可以使用printf进行打印了~2 M+ }, \' U% Z. A1 _

' c, m' ~* K( e% v1 y3 c8 z2 o8 x3 I+ Q1 U4 Z7 K1 S8 ^
收藏 评论0 发布时间:2021-12-16 22:00

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版