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

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

[复制链接]
STMCU小助手 发布时间:2021-12-16 22:00
首先将串口初始化,然后添加重定向代码- C8 E  G9 r- w. e" a
- ^$ o4 G0 _# C, c1 H0 j: Y  x. n8 k
下面使用的是串口三,因此以串口三为例:( J9 R0 f7 ~; x" z

8 Q( q" F( v& }" m) q/ r. w
  1. UART_HandleTypeDef huart3;' v, X  K' {; ~( C+ X
  2. #ifdef __GNUC__
    - |, G# P2 m7 O+ b2 |: u/ ~& @) K6 E# V
  3. /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf& Q1 Y9 a% {# J/ S' A0 [8 f+ c7 Z  i
  4. set to 'Yes') calls __io_putchar() *// Y2 a) ~+ h& k) X" f: A- s$ {% L; Y
  5. #define PUTCHAR_PROTOTYPE int __io_putchar(int ch): i+ B$ K8 {0 Q8 N0 J2 N
  6. #else  u. W! y: k* F0 M
  7. #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)' a* B9 v, @. s( u- q3 R7 Z" k
  8. #endif /* __GNUC__ */
    * H* o+ r8 Y! _+ \2 R3 n
  9. /**3 J! z" n5 m/ X; E
  10. * @brief Retargets the C library printf function to the USART.8 N) P6 ?2 {( D2 {
  11. * @param None* o5 q9 T8 D+ {  }0 v! F
  12. * @retval None8 g9 N, h8 g& b) q
  13. */
    : L* u( {; n+ u) F
  14. PUTCHAR_PROTOTYPE) H$ }+ \. H/ R# v  ]
  15. {
    8 s- f2 M4 W$ f. P: `7 Z
  16.   /* Place your implementation of fputc here */; Y9 N6 j3 G# Y0 T( ]4 e0 W6 m
  17.   /* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */# \' \: n" K4 u2 S+ Y
  18.   HAL_UART_Transmit(&huart3, (uint8_t *)&ch, 1, 0x0001);
    2 E$ ?  J  B. ^1 N' t- W8 `8 `
  19.   return ch;4 I6 b# a' n$ T+ ^+ t9 x
  20. }
复制代码

' ~2 X. T3 d6 j3 _& b7 o
' E  {) g! ?+ ~# u8 \添加完代码后就可以使用printf进行打印了~! ~; B& V. ?0 X6 o9 V
7 y! a9 j! f* C; |% L4 ~; @. H

1 V- I# Q$ P0 ]2 p  A
收藏 评论0 发布时间:2021-12-16 22:00

举报

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