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

两个STM32开发中基于MDK IDE的调试输出技巧

[复制链接]
STMCU小助手 发布时间:2021-1-28 10:18
两个STM32开发中基于MDK IDE的调试输出技巧
" k$ X0 u( b: C- _; \( t
我们在STM32开发调试过程中,常常需要做些直观的输出,如果手头没有相关的设备或仪器,我们可以使用 IDE自带的工具。这里分享两个基于MDK  IDE的调试输出技巧。
$ }) `& t2 O/ d& [  o  g
一、使用其自带的逻辑分析仪查看波形。
  ], Y, m! j" G( q1 a
比方我们需要查看STM32定时器的PWM输出,手头又没有示波器或逻辑分析仪, 尤其学生族。我们可以用MDK自带的逻辑分析仪来察看结果。
假设基于某一款STM32F4芯片,输出一个脉宽为100us,占空比为40%的波形。使用TIM3的通道1输出PWM波形,用到GPIOA_6,即PA6.
STM32定时器的参数配置我这里就省略了。我开启定时器的比较中断和更新中断,在中断里将PA口的IDR值读到一个全局变量TIM3_CH1_OUT里。
- m7 @4 p4 k# J$ ]# e7 ]
下面主要介绍跟LA[逻辑分析仪缩写]有关的配置:
4 U! R( d5 `0 f% U
1、
4.1.jpg

. T5 W$ m4 ]2 _! m0 d
2、
4.2.jpg
7 c# p) R0 S4 c! L  |( M! X# ~1 H
3、联机进入调试状态,进一步配置:
4.3.jpg
0 R5 l% T# S9 A, j
4、运行看结果:
4.4.jpg
4.5.jpg
/ s6 l. P* z- R$ v# y
结果出来了,比较直观,也具备较好的测量能力。比一般的示波器不会差。

4 u+ P2 W; c- I0 F$ p
二、使用调试工具自带的SWO功能做printf输出
6 P2 u3 x- f' `% \% A1 s
我们在调试过程中往往需要做些printf输出,通常使用UART实现。顺便用下倒还好,不然得单独配置出UART,PC端需装应用软件和win驱动,还得辅以额外的硬件。
* h4 R& R9 u: |2 w( m+ |
其实,我们很多时候可能通过SWO方式做输出就好,只要芯片和调试器支持。
& p! R- _, w. E+ n$ L
SWO,serial wire output ,一种异步串行通信通道。目前基于Cortex M3,M4,M7内核芯片都支持。通过配置寄存器DBGMCU_CR里的TRACE_IOEN和TRACE_MODE来启用。当然用CUBEMX配置生成初始化代码就更简单了。像下面这样:
4.6.png

) M) @$ b# p0 U( P4 m: O
跟MDK有关的配置:
  F' X& p# ?3 [1 P
1、
4.7.jpg

' g, Z6 s3 u/ _
2、进入调试状态,点击View/SerialWindows/Debug(printf)Viewer
4.8.jpg
- |2 n) @) s5 y
3、用户代码里添加:
  1. #include “stdio.h”
    8 o$ k% b7 D+ ~$ `9 w

  2. , ~& E& Q- s( w# O7 j# t% x
  3. int fputc(int ch, FILE *f)
    / ^/ |! o7 T. {. a

  4. 9 j* u3 `' K" P  y
  5. {
    ) k- K$ O+ `" m! C/ _1 p

  6. ! S! l4 K: u, w" i2 M
  7. ITM_SendChar(ch);
    3 {. O; Q! G( \7 b7 ]
  8. ! [6 |9 Y0 O3 q8 O" m. ~
  9.     return (ch);! O$ n. \2 O7 e9 b# L/ ^
  10. 5 h! u& I; B, P& k1 e
  11. }
复制代码

+ Z' Z6 l) ?$ v6 U! L9 w9 j
4、运行看结果:
4.9.png

& B: ]& h/ Q& o, \8 e
OK,分享上面两个比较实用的调试输出技巧,希望对您有帮助。

0 y5 a0 Y& Z. H2 X$ {
文章出处: 茶话MCU

- c: w# k( \0 o  N5 ?0 ]" H7 c; M
赞 收藏 评论1 发布时间:2021-1-28 10:18

举报

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