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

STM32CUBEIDE(6)----printf打印配置

[复制链接]
STMCU小助手 发布时间:2022-8-18 17:24
生成例程
! y: ~( F- }, W; ]使用STM32CUBEMX生成例程,这里使用NUCLEO-F103RB开发板$ S) q5 v; l; k# W8 n4 V7 ]) U
641406f4ab6d4ba3806608ea088511f0.png
2 C% p/ ?- [0 U1 G: y6 d! n3 N/ D- ^( p. M( f; L
查看原理图,PA2和PA3设置为开发板的串口。
1 o+ `0 G' @1 o- w" \+ A9 u# I% C7 l2 C+ r4 D
6cde275d970445afaa522e74e1b05da0.png
1 Z7 K! z! a0 V1 I0 r$ D
6 b/ \+ N2 m; }配置串口。  w3 K/ n/ g! x8 E. o% l' j

; N) \4 H+ p3 k( M7 n e5a35949ea484fe782de2237f57d2198.png 2 J4 Q) z" ?+ j9 ~" ?+ I

( A) A( }4 Z0 ]7 mSTM32CUBEIDE配置" p4 c# ?6 E4 X) x/ Z

, Q+ j/ e) M# F  e2 q3 C- x* E cef307ee88fe48e9927c8672840c37f2.png * P0 b: V/ r+ j0 u, \

2 q: L' I7 M9 `3 e* z4 M$ W, E若需要打印浮点型,需要勾选下面的选项。- g" H0 Z) f' e1 p( O
8 H. y- N- X- J1 z% f
0f42e907240242bfbb736c31e9755617.png ) m# C. i* T4 g
4 }0 {* f1 ?5 ~: Y2 o/ |
( l) v$ j" L- \* b2 W1 X
串口重定向7 a3 B' H. j  h3 ~% h
在main.c中,添加头文件,若不添加会出现 identifier “FILE” is undefined报错。
0 k* I. P2 u. L& A( m1 _: m
  W: Q6 O$ t  y: q: n
  1. /* USER CODE BEGIN Includes */6 o' N& I0 e- T0 C3 X
  2. #include "stdio.h"7 O7 |7 V' Y. U- ]0 L$ p3 t( ^9 d
  3. /* USER CODE END Includes */
复制代码
/ E8 d$ M: [' [* s/ K3 Z2 T) p
函数声明和串口重定向:
  ~& t1 o9 M2 Y1 I4 E/ q& J- W% T8 L9 @. }5 [+ l4 I& |: ?* J
  1. /* USER CODE BEGIN PFP */
    0 z. j" `* L/ ~, f
  2. #ifdef __GNUC__                                                                        //串口重定向
    . v2 E! D# f2 Q/ }0 B+ p+ w
  3. #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)2 t1 J1 j9 p+ ]) `$ B2 g$ h
  4. #else
    ( F9 e* M6 Z- d5 R% j, r
  5. #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
    1 Z3 U9 ~5 g, A5 Y2 w# b
  6. #endif
    + u3 n2 a  a$ \) q
  7. PUTCHAR_PROTOTYPE
    % L" _6 L. I1 K4 B2 f
  8. {5 u5 w$ o$ Q" t) B  q5 t1 r
  9.     HAL_UART_Transmit(&huart2 , (uint8_t *)&ch, 1, 0xFFFF);( U7 `: d, K- m2 w8 O$ x8 q) Y
  10.     return ch;; E3 h) t( f0 B* U4 V% d
  11. }( z5 l, R8 @- ]- \; n1 I: u( y
  12. /* USER CODE END PFP */
复制代码
0 |) \. y$ _% s" y
打印测试
- l& c( G9 T" j8 s- r
  1. /* USER CODE BEGIN WHILE */
    ( K& G* ~. j3 e( G+ B7 w/ U
  2.   while (1)
    $ j1 L1 B/ a/ `( w
  3.   {
    ( |+ P% U! ^, I. J
  4.     /* USER CODE END WHILE */
    0 A8 p2 K8 ], E; p& i& ], \7 ^
  5. 8 |/ x  `" m" h$ h8 R/ x9 T$ w1 C
  6.     /* USER CODE BEGIN 3 */        
    1 N0 _$ W( D0 {5 D+ k. C
  7.                
    . f# Y$ m7 L7 i0 P) V9 f$ S
  8.     printf("float=%.2f\r\n",1.2f);1 B( q" Q: E; l; q, I  K7 ^/ I
  9.     HAL_Delay(1000);                                1 J" O( \% p# L. L, S' z2 _
  10.   }
    1 C; ]+ P  Y, [; O
  11.   /* USER CODE END 3 */
复制代码

. L* e, w- |: g% a1 t  W! Y结果
- D7 r$ f+ a. J$ \  ?. ]4 T. p' ?4 |; z+ h* i1 S
31ce68848e4e4b84b489e71569819a4e.png # B  w, _! f& Z% y3 u- O
收藏 评论0 发布时间:2022-8-18 17:24

举报

0个回答

所属标签

相似技术帖

官网相关资源

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