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

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

[复制链接]
STMCU小助手 发布时间:2022-8-18 17:24
生成例程
$ I+ ~9 r: p# G& Q# e7 G使用STM32CUBEMX生成例程,这里使用NUCLEO-F103RB开发板0 B; u& x( K) I1 C, i: |( P& R
641406f4ab6d4ba3806608ea088511f0.png
: ?3 l9 ]8 p8 K
! z/ a7 ~+ k& K- }0 \+ _查看原理图,PA2和PA3设置为开发板的串口。
* j/ o3 ]' L' I
; C! t  r2 ^" m- S7 B 6cde275d970445afaa522e74e1b05da0.png ) `9 O5 w& I( s$ \% ^4 ^8 [

+ f  A8 g% Q# m! V% n0 |8 L8 e9 a2 D配置串口。
  W2 G9 ~4 ?9 G' }* a  B6 _# X6 k* N' s5 p3 u3 K0 w' Q
e5a35949ea484fe782de2237f57d2198.png
2 a0 h) P2 @# U6 J* V9 ]# i0 J
& [6 E% Y  p. M- d* P& m0 K, iSTM32CUBEIDE配置
$ y! I) E1 g" u- g4 C+ f
3 F! O/ |. h3 i8 h5 V/ \/ i( Z' v5 h9 m cef307ee88fe48e9927c8672840c37f2.png ' L3 _; X/ X9 t2 b$ l8 J

% E( @; t" `; u. ?6 C; D若需要打印浮点型,需要勾选下面的选项。' U6 H9 [) }5 [3 p

0 L2 i8 T! _1 i; P: B$ l! x 0f42e907240242bfbb736c31e9755617.png
' L" @- b7 u6 N$ z. T# m6 i% Q
8 t! w% b, n1 X# i/ @5 B
+ P9 u; u# U# k. X- w9 e串口重定向
/ Z! W5 g& |. C5 }. i4 a  i在main.c中,添加头文件,若不添加会出现 identifier “FILE” is undefined报错。9 c3 B2 k: [7 r* J/ Y

+ g! b* w5 X0 E) {' }6 d9 e
  1. /* USER CODE BEGIN Includes */
    # s, Y- \$ d; x. a3 r
  2. #include "stdio.h"2 Y4 K, K3 m7 C8 e
  3. /* USER CODE END Includes */
复制代码

$ Z6 b! r/ N( n, {1 F$ i% E0 y# x函数声明和串口重定向:
2 H# @9 f* T1 _9 a5 E6 U4 g4 b& V
0 U% X* J0 U8 N4 z' n
  1. /* USER CODE BEGIN PFP */
    6 k! j% j9 q! W: w. ]* H) C
  2. #ifdef __GNUC__                                                                        //串口重定向
    5 r" R2 E; s5 I6 L/ a5 S% q# w$ Q4 w
  3. #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
    % y3 `- c4 \' e4 R. E! c; p( ?. {; o! \
  4. #else
    . l  @: L2 `3 @
  5. #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)! q; e, J3 L( ?1 r/ s1 r7 {
  6. #endif
    4 q  [4 w9 d4 I0 O/ R
  7. PUTCHAR_PROTOTYPE
    , o' V2 r/ E& a! y8 c" Q2 d6 J5 ?
  8. {
    + W$ X1 L  y2 T$ v& a. O! c
  9.     HAL_UART_Transmit(&huart2 , (uint8_t *)&ch, 1, 0xFFFF);
    0 b/ ^3 q) P( T0 t7 c0 c- m
  10.     return ch;  X1 W+ T  |% h0 l7 _
  11. }
    + g6 u) T5 \4 u& f
  12. /* USER CODE END PFP */
复制代码
' w) s$ e& e6 n* c  B
打印测试3 d: r( e3 I/ ?# \
  1. /* USER CODE BEGIN WHILE */
    ) w/ w; E( M, I; g! d* ]9 H0 ?
  2.   while (1)! Z: V8 V+ l/ G: a9 }) a
  3.   {, G& h9 e8 B3 u1 ~
  4.     /* USER CODE END WHILE */
    2 g) M3 [5 R& u% k* z

  5. " o/ }) W0 M, w, y
  6.     /* USER CODE BEGIN 3 */        
    * \9 r+ S6 u0 ^" Y' v$ {4 w7 o% f' B
  7.                 3 ]% H2 [# u$ n9 s2 n
  8.     printf("float=%.2f\r\n",1.2f);
      p" H7 D" _6 G0 H# Q! X) L
  9.     HAL_Delay(1000);                                " A3 a3 S9 f( ?0 a- s
  10.   }
    " C( Z5 W8 p6 [6 @+ v& M5 E/ \
  11.   /* USER CODE END 3 */
复制代码
: U# g  k5 k$ {
结果  @+ s( H) |) Q0 e3 k# V: {
$ Y! \3 w2 U; q1 }6 w6 h
31ce68848e4e4b84b489e71569819a4e.png : {+ K5 D& T9 P, a& [5 w
赞 收藏 评论0 发布时间:2022-8-18 17:24

举报

0个回答

所属标签

相似技术帖

官网相关资源

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