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

【经验分享】STM32CubeIDE之printf重定向及串口(USART)输出浮点型数据的修改

[复制链接]
STMCU小助手 发布时间:2022-3-8 11:07
方式一
) i& \) r' Y4 K4 A' S! ^4 {
  1. ! ?0 h, M2 E  _+ }3 S
  2. #include "stdio.h"
    " L' y( ?! [9 r" p& D! f5 ]
  3. /* USER CODE END Includes */) A) K8 }) U( s. g

  4. 6 j. A: R$ h6 p8 L$ W% h) d
  5. /* Private typedef -----------------------------------------------------------*/  `& E, {# t9 T
  6. /* USER CODE BEGIN PTD */
    4 H  a4 [+ v* v6 |+ H9 X  d
  7. #ifdef __GNUC__4 C! z! j( f# n: `* X/ s1 ?
  8. #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
    / p! h& P+ B: g6 [) L2 e$ |
  9. #else$ L0 T9 X: K8 X; I, C- ^' r
  10. #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
    ) {; c1 `' f6 Q+ z
  11. #endif$ |* {( Y+ Q& I$ l& F
  12. PUTCHAR_PROTOTYPE- f2 g3 w; G( g" ~6 j
  13. {  
    - {6 p$ K  O! D
  14. //此处用的是USART2
    2 j" i& |# P8 ]1 c+ B# ^. h: j6 Z/ s
  15. //你在使用时仅仅需要把’USART2‘改成你的串口就可以了        
      h8 w  e# [! t. X; D: {
  16.     while ((USART2->SR & 0X40) == 0); 4 c# K6 S5 h7 K: c! t/ C+ x5 v
  17.     USART2->DR = (uint8_t) ch;
    . H. o& A* j6 [1 C8 k. S# U
  18.     return ch;8 a( N% D/ B8 C! D- f& Z6 I3 M$ F
  19. }
复制代码
( P- S" N6 p. M6 s' J. l8 k

* t% M1 Q, q$ C+ T# @方式二
" X! d) h, Q& G3 W2 ?( q+ f
  1. #include "stdio.h"//别忘了* d7 x! h' t- q7 z7 x
  2. 3 P( w# v9 n! j% k; X4 q: W2 W( @
  3. #ifdef __GNUC__
    . Z/ b% @- s1 }! L3 e# p% N
  4. #define PUTCHAR_PROTOTYPE int __io_putchar(int ch). {. C0 e/ `" @- W
  5. #else
    2 N* d& j" Z. G" r
  6. #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
    4 V" I" M8 ^# k" u: C
  7. #endif
    2 F/ s) J' w  C. [

  8. & m, y  c# O) \2 }4 P) C$ F6 J
  9. PUTCHAR_PROTOTYPE
    * [$ e8 p; T" G8 C. M% z2 M6 @; L
  10. {
    ' D5 q1 g2 z: M
  11. //同样USART2改为你的串口
    : H# C3 ^* i4 V7 A5 U/ P) k3 g
  12.         HAL_UART_Transmit(&huart2, (uint8_t*)&ch,1,HAL_MAX_DELAY);
    + q4 E  k" {4 I0 J% v
  13.     return ch;2 u. P' @! S6 U3 t2 M( Q, }. G
  14. }
复制代码
5 h+ }- ]3 C$ {0 @3 c
打印浮点数据如何操作?& S5 Y5 R1 r" I7 Q2 f

4 K0 P9 x$ Z2 {/ l* o( M( M XM4QXS1D_3V~LU)XIMHA@%S.png ' M' O8 b- z( E' R+ C9 m! o

9 c" H% `8 v2 g# f, d3 @1、右键->属性
9 \( X4 i) [4 X7 Q$ D4 o7 i! m2、设置
3 K; E* h$ [6 ~" D: I5 p- I3、Miscellaneous5 O# N- W7 Z1 i& R$ C7 x: i& u
4、输入 -u_printf_float2 S% R0 v1 O7 ~0 F2 `* F+ g: ~6 k
5 O& Q4 ]4 E/ I6 e
$ O6 D3 _" g: q% r
赞 收藏 评论0 发布时间:2022-3-8 11:07

举报

0个回答

所属标签

相似技术帖

官网相关资源

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