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

基于STM32CUBEIDE的printf打印经验分享

[复制链接]
攻城狮Melo 发布时间:2023-4-8 22:40
概述
    本章STM32CUBEMX配置STM32F103,配置printf进行打印。
0 l4 z' B: i% \$ D9 h! k+ T
生成例程
% G5 D2 l( y' s, S; X
   使用STM32CUBEMX生成例程,这里使用NUCLEO-F103RB开发板。
1 l% ~1 t9 B; a0 n) E" v) i# U
微信图片_20230408224013.png

. B; ^( p3 G8 r3 m1 ~
    查看原理图,PA2和PA3设置为开发板的串口。

3 K$ O* D+ u' D  ~, l( b
微信图片_20230408224008.png

0 |1 V, i8 ]4 G
    配置串口。
微信图片_20230408223958.png

( t6 O2 P4 a: b2 i' X. Y8 {STM32CUBEIDE配置
  R( f/ h- Z- k) S

- }2 y  Y& o+ y  U! F  `% ^' q0 k
微信图片_20230408223953.png

/ R$ {- U2 b# Y% E! X" U
    若需要打印浮点型,需要勾选下面的选项。
: ~6 p$ m- V' k  X3 }
微信图片_20230408223949.png
8 h; Z; x* m! B; n. K

( x: H  I5 c8 K1 y串口重定向8 G" N3 Y4 H. M; D
    在main.c中,添加头文件,若不添加会出现 identifier "FILE" is undefined报错。
  1. /* USER CODE BEGIN Includes */) }: o. F/ `' d4 J- t
  2. #include "stdio.h"
    / R. K% Q3 G2 n" U# }( y. b5 a
  3. /* USER CODE END Includes */
复制代码
% I4 p" g9 f8 s% q2 h
    函数声明和串口重定向:
  1. /* USER CODE BEGIN PFP */1 w6 S/ [. _1 g: t$ e& e, }: D  _6 o
  2. #ifdef __GNUC__                  //串口重定向
    5 T: b: w; N! E6 ^! U
  3. #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)7 z0 M& o4 K  m" `
  4. #else
    8 |& D; A! l5 c) n4 s+ ]0 C9 A9 m
  5. #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
    ! F! d( D/ L" _9 L: q" c' h
  6. #endif 4 Z5 \0 {0 a! I8 P6 S( ~3 r
  7. PUTCHAR_PROTOTYPE
    ; [/ Z' s, ^% L0 T$ [
  8. {
    7 y( M9 g. x: L, e3 R4 h
  9.     HAL_UART_Transmit(&huart2 , (uint8_t *)&ch, 1, 0xFFFF);" ~& X6 o  I" ^' K: s  k( E
  10.     return ch;1 u' \8 |6 C6 W- m! h
  11. }
    * y- z) D+ S5 \! b/ D  S. M4 z
  12. /* USER CODE END PFP */
复制代码

5 R( G  g1 N; _0 [, o
- c: q1 E# ?$ X' {
打印测试
  1.   /* USER CODE BEGIN WHILE */9 y' w% j, W" N" G
  2.   while (1)
    5 P9 v! f" @) f. F
  3.   {
    6 D( L4 M% ]; x% h
  4.     /* USER CODE END WHILE */
    1 Y# D# r- B7 C
  5. - G1 ^+ z# B. e. r% Z
  6.     /* USER CODE BEGIN 3 */  
    / w; f) l: ?3 p! u5 r
  7.     , b# n1 [2 a7 e/ R
  8.     printf("float=%.2f\r\n",1.2f);
    3 I0 C) j  x0 y& a  o5 w
  9.     HAL_Delay(1000);        
      _- C$ k) M2 w( `/ C
  10.   }2 O7 c* Z1 J1 r( G. N  S% w0 P+ V
  11.   /* USER CODE END 3 */
复制代码
0 c4 p/ y) I, `* j3 H# @& W) S; v
结果

1 ^; f# U5 _( t) n  o% o0 K
微信图片_20230408223944.png

+ i+ f0 b8 f) Q, u6 ?
转载自:记帖
如有侵权请联系删除
$ n7 ~1 d2 R5 P

' F( n) _5 f% ]" Y4 U4 l+ V8 m9 k- H0 k( K$ {0 E, n+ s
赞 收藏 评论0 发布时间:2023-4-8 22:40

举报

0个回答

所属标签

相似技术帖

官网相关资源

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