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

基于STM32CUBEIDE的printf打印经验分享

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

% A4 b0 g( u' D  X. D生成例程8 J; W) \) B! Q2 I3 s, u
   使用STM32CUBEMX生成例程,这里使用NUCLEO-F103RB开发板。
0 ^/ K" G' P* |
微信图片_20230408224013.png
0 H5 d2 ~8 A+ ^# i/ z
    查看原理图,PA2和PA3设置为开发板的串口。

% D  S2 m& y6 F3 C( K$ L
微信图片_20230408224008.png
2 W% s2 {( o8 h
    配置串口。
微信图片_20230408223958.png

; M( t% C* S4 d8 R: F+ qSTM32CUBEIDE配置" _4 O: |$ f4 K0 e. h6 O

) R& |8 _# L  y" w1 i- ?4 n5 w
微信图片_20230408223953.png
, d8 i) Q0 [7 s2 y
    若需要打印浮点型,需要勾选下面的选项。

- L/ A; p) G* W2 s% J( D3 x+ w
微信图片_20230408223949.png
; p2 x+ u0 e. o* d+ Z
& x- o* S$ |; u7 D! ^
串口重定向
; A& @% _4 d1 p& p! q' }
    在main.c中,添加头文件,若不添加会出现 identifier "FILE" is undefined报错。
  1. /* USER CODE BEGIN Includes */
    + j7 U" F) K+ [
  2. #include "stdio.h"
    6 }: r1 B) @8 @3 J3 F# a
  3. /* USER CODE END Includes */
复制代码
# W9 S0 U3 Y% x+ k  i
    函数声明和串口重定向:
  1. /* USER CODE BEGIN PFP */5 T$ h, f# n4 L% g
  2. #ifdef __GNUC__                  //串口重定向5 ~# l5 u. m' g  Q. [- d, F8 ?' _
  3. #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
    : ]* ?/ G% }+ T, U, f9 [; l
  4. #else- }# d! H, Q& ?; y6 U% B
  5. #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
    + ~* `) \+ n% s  d$ ^8 B
  6. #endif
    : K7 r& R9 Z6 K
  7. PUTCHAR_PROTOTYPE/ K: H- F6 h1 {: T4 q
  8. {
    8 Z6 i9 @8 x5 {0 P6 q* \
  9.     HAL_UART_Transmit(&huart2 , (uint8_t *)&ch, 1, 0xFFFF);
    $ g& m$ x! T9 D+ c; |
  10.     return ch;! ~, m% Z& }! J# t+ G$ z
  11. }
      E2 X. z/ B+ ^- n3 I
  12. /* USER CODE END PFP */
复制代码
' n' w6 }# M* G; W
' L- e; ?$ R9 D# h0 v0 I
打印测试
  1.   /* USER CODE BEGIN WHILE */7 b& t3 c) O7 l5 E( S# B; e. z
  2.   while (1)
    $ Z( z' {; s# ^. M/ p2 X
  3.   {3 ?1 K& C7 l5 x5 O
  4.     /* USER CODE END WHILE */
    - I7 B9 I3 n/ z: J) Z) h, i
  5. 9 y' T1 C: [2 n4 o
  6.     /* USER CODE BEGIN 3 */  ' }: [# c& U" ~, a7 o
  7.     " ?% ^3 h2 p1 t8 a! e
  8.     printf("float=%.2f\r\n",1.2f);
    ; i% G* l6 \' s6 m* j! ~2 x( |
  9.     HAL_Delay(1000);        
    ( H# Y$ m6 i9 U6 }/ T6 e
  10.   }
    7 b3 S! E% F: ^" V2 k8 o" c+ f( j
  11.   /* USER CODE END 3 */
复制代码

' |3 V) w' m/ S7 O4 M1 \结果
: e. `/ |$ C: |
微信图片_20230408223944.png
, n; \! q- s9 I' ^
转载自:记帖
如有侵权请联系删除
6 a* ?% z# N* F

- z: V; a; A- [# w* `& g5 C+ V' b( I* }% W
收藏 评论0 发布时间:2023-4-8 22:40

举报

0个回答

所属标签

相似技术帖

官网相关资源

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