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

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

[复制链接]
STMCU小助手 发布时间:2021-12-16 22:00
首先将串口初始化,然后添加重定向代码- `; F3 V7 I, I! f1 O* W0 x+ h$ _0 |
% g; x/ {8 i9 D2 k9 j
下面使用的是串口三,因此以串口三为例:
, `5 J' L2 m: J# t9 T/ n+ d, T) s% u$ v( Q
  1. UART_HandleTypeDef huart3;
    2 b" \$ P! V9 U& n+ O
  2. #ifdef __GNUC__1 T( ]7 x2 X5 D
  3. /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf5 N! F: L" x) h
  4. set to 'Yes') calls __io_putchar() */" L) Z7 s* S! y) |; g
  5. #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)! P- a" G- @3 h5 [8 U: O
  6. #else, j" F, d) O% m2 Y
  7. #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f); c8 F9 v% x  U  E% W! P5 u. ]6 s
  8. #endif /* __GNUC__ */
    ! |, Q" |5 C+ @, H$ ?: O8 u
  9. /**# E5 C: v# N8 \: p: }' a. |) h
  10. * @brief Retargets the C library printf function to the USART.) _- u' ]( ~+ i$ o7 c
  11. * @param None- u: c# h) `! z* S6 I  g3 C" z. n& T
  12. * @retval None
    . j9 I1 E& t6 R: h# K( O
  13. */
    , G' |4 [, f; O
  14. PUTCHAR_PROTOTYPE
    " _2 c$ |6 {+ C1 O& k, R) J" o
  15. {
    5 Q7 L# \8 X& a0 \' v3 x
  16.   /* Place your implementation of fputc here */1 W/ H$ J1 o- u2 m
  17.   /* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */
    ! M& g, ^$ J/ l9 c: F
  18.   HAL_UART_Transmit(&huart3, (uint8_t *)&ch, 1, 0x0001);" x7 A% Z% m& I3 s- Z
  19.   return ch;  y: U7 u% I2 z9 w7 ]% p# e
  20. }
复制代码
* V0 S, \% p% o9 v- B4 v
+ _/ z4 P+ m' l4 U
添加完代码后就可以使用printf进行打印了~, F* o. T& m4 \# X7 ?8 r0 p8 \

; x* \1 V0 w+ y! z' F2 {8 w
4 O8 L* X, T1 g5 c, g0 C
赞 收藏 评论0 发布时间:2021-12-16 22:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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