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

基于STM32CUBEIDE的printf打印经验分享

[复制链接]
攻城狮Melo 发布时间:2023-4-8 22:40
概述
    本章STM32CUBEMX配置STM32F103,配置printf进行打印。

7 W1 M$ w8 i6 ~3 a0 f生成例程
: k  G$ y4 j  G' ^" Q* g$ \7 a
   使用STM32CUBEMX生成例程,这里使用NUCLEO-F103RB开发板。
( z: Q- N* K4 h8 D( b& S! W
微信图片_20230408224013.png
1 S7 P, v" o; B, a; d
    查看原理图,PA2和PA3设置为开发板的串口。

9 G) E# O* c" v& a2 i8 A2 B
微信图片_20230408224008.png

0 X% K$ d, j9 Z+ Q4 C% T( i; l
    配置串口。
微信图片_20230408223958.png

% |' D4 ?& a" g6 ]8 O6 DSTM32CUBEIDE配置; U+ t# u) j  V: R( E: x# m8 N% ~

! N( Y5 T5 N4 @5 O. w1 K- Q
微信图片_20230408223953.png

' E3 x  M8 Q& u, J4 V
    若需要打印浮点型,需要勾选下面的选项。

& Z: N' d3 Z! L0 l+ v
微信图片_20230408223949.png
) o* b2 O3 r  K

5 M# x8 W! e9 t) v, Z3 ~4 T串口重定向4 `* y6 i7 y: d( p
    在main.c中,添加头文件,若不添加会出现 identifier "FILE" is undefined报错。
  1. /* USER CODE BEGIN Includes */4 m( [: `3 F3 F  B$ C; u9 s: B# I
  2. #include "stdio.h"
    - Z0 O5 c  Q& b# t) ^
  3. /* USER CODE END Includes */
复制代码

. A5 s! B! \% O/ ?' x
    函数声明和串口重定向:
  1. /* USER CODE BEGIN PFP */! |% ~# \3 C( R+ T0 {% P# J+ ~
  2. #ifdef __GNUC__                  //串口重定向8 ^- S! T( Z5 f% C
  3. #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
    0 |- m  F2 @- f
  4. #else
    " `9 y6 Y6 _5 o; i1 }6 a
  5. #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
    & V- A: F' ~) p* M) U. H7 H. X- Q  J
  6. #endif
    , u, W/ ]( s* S  |
  7. PUTCHAR_PROTOTYPE
    5 H0 h- q( G$ h, h0 Q
  8. {
    / `  C  ]. O. A* y$ U
  9.     HAL_UART_Transmit(&huart2 , (uint8_t *)&ch, 1, 0xFFFF);  o+ p9 [  T4 |5 ^/ x
  10.     return ch;0 h- o1 s1 {5 G! C6 d8 L- j
  11. }/ ~0 [; }; l2 g, v: B
  12. /* USER CODE END PFP */
复制代码

' ~) R7 X6 d5 w# p+ h# E
8 m+ V- w% N/ _* C! f" L8 @% z
打印测试
  1.   /* USER CODE BEGIN WHILE */
    + }3 F5 {# M6 X" J& A  R
  2.   while (1)
    : l" e3 S4 o$ V/ A4 I
  3.   {* N9 Z3 S: f/ v- y/ X( }
  4.     /* USER CODE END WHILE */, Z& O, f) t& `# E  R- j

  5. ' v" J0 l  ]4 P9 _0 f) R& |2 q* N
  6.     /* USER CODE BEGIN 3 */  ! U# `! R3 W: _
  7.    
    / W* s+ z; B$ q1 K3 \
  8.     printf("float=%.2f\r\n",1.2f);
    9 Y) @  r9 N% {5 s) \3 [8 N
  9.     HAL_Delay(1000);        
    & O1 V! i0 W2 U, Z0 O
  10.   }
    * u( y4 l3 s4 E- P7 ~
  11.   /* USER CODE END 3 */
复制代码
: r3 t$ F: }1 p7 h+ l
结果

' {. h( Z5 q" f
微信图片_20230408223944.png

& a; \. M1 w  R/ J: [- @& L; h
转载自:记帖
如有侵权请联系删除7 Q; G0 i* b( }% N, f2 Z) H' Q( ~9 o5 z
& {& k5 Q9 b8 r0 ], C, S
* \- k3 _3 v9 s; g
收藏 评论0 发布时间:2023-4-8 22:40

举报

0个回答

所属标签

相似技术帖

官网相关资源

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