0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分享两个基于MDK IDE的调试输出技巧

茶话MCU 来源:lq 2018-12-22 15:32 次阅读

我们在STM32开发调试过程中,常常需要做些直观的输出,如果手头没有相关的设备或仪器,我们可以使用 IDE自带的工具。这里分享两个基于MDK IDE的调试输出技巧。

一、使用其自带的逻辑分析仪查看波形。

比方我们需要查看STM32定时器的PWM输出,手头又没有示波器或逻辑分析仪, 尤其学生族。我们可以用MDK自带的逻辑分析仪来察看结果。

假设基于某一款STM32F4芯片,输出一个脉宽为100us,占空比为40%的波形。使用TIM3的通道1输出PWM波形,用到GPIOA_6,即PA6.

STM32定时器的参数配置我这里就省略了。我开启定时器的比较中断和更新中断,在中断里将PA口的IDR值读到一个全局变量TIM3_CH1_OUT里。

下面主要介绍跟LA[逻辑分析仪缩写]有关的配置:

1、

2、

3、联机进入调试状态,进一步配置:

4、运行看结果:

结果出来了,比较直观,也具备较好的测量能力。比一般的示波器不会差。

二、使用调试工具自带的SWO功能做printf输出

我们在调试过程中往往需要做些printf输出,通常使用UART实现。顺便用下倒还好,不然得单独配置出UART,PC端需装应用软件和win驱动,还得辅以额外的硬件

其实,我们很多时候可能通过SWO方式做输出就好,只要芯片和调试器支持。

SWO,serial wire output ,一种异步串行通信通道。目前基于Cortex M3,M4,M7内核芯片都支持。通过配置寄存器DBGMCU_CR里的TRACE_IOEN和TRACE_MODE来启用。当然用CUBEMX配置生成初始化代码就更简单了。像下面这样:

跟MDK有关的配置:

1、

2、进入调试状态,点击View/Serial Windows/Debug(printf)Viewer

3、用户代码里添加:

#include“stdio.h”

int fputc(int ch, FILE *f)

{

ITM_SendChar(ch);

return (ch);

}

4、运行看结果:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    446

    文章

    47691

    浏览量

    408833
  • STM32
    +关注

    关注

    2239

    文章

    10664

    浏览量

    348506
  • 定时器
    +关注

    关注

    23

    文章

    3144

    浏览量

    112004

原文标题:两个STM32开发中基于MDK IDE的调试输出技巧

文章出处:【微信号:stmcu832,微信公众号:茶话MCU】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    调试输出IDE

    通过MixPrim3和PSoC创建者4.1开始调试,这很好。但是,我想添加一种可以在IDE或其他地方看到的“Prtff”输出。在互联网上,我看到了一些关于启用“打印输出
    发表于 10-30 10:29

    基于MDK IDE的STM32开发调试输出有什么技巧?

    我们在STM32开发调试过程中,常常需要做些直观的输出,如果手头没有相关的设备或仪器,我们可以使用 IDE自带的工具。这里分享两个基于MDKIDE的
    发表于 08-08 06:28

    请问怎么输出调试消息到IDE

    我使用了大约十几种不同的开发环境,在几乎所有的开发环境中,都有一种方法将调试文本和值输出IDE中的“控制台”、“输出”或“调试”标签中。I
    发表于 08-29 10:17

    请问调试输出IDE输出选项卡或IDE日志记录?

    我要把这张贴在这里…我正在寻找*任何*方式输出一些调试文本和变量到输出选项卡中的IDE(或任何选项卡!)同时调试我的自定义PCB和代码。在我
    发表于 08-30 06:23

    如何在mdk中观察两个断点间执行了多长时间?

    mdk中怎么观察两个断点间执行了多长时间?或者由当前光标处运行到某个断点的时间也行。谢谢。
    发表于 09-20 04:35

    如何利用keil mdk去做一IDE集成开发环境呢

    keil MDK是如何去调试窗口的变量值的呢?如何利用keil mdk去做一IDE集成开发环境呢?
    发表于 12-02 06:31

    如何在mdk上建立两个独立的工程boot和app分别管理呢

    如何在mdk上建立两个独立的工程boot和app分别管理呢?
    发表于 01-18 06:24

    如何在MDK中使用openamp?

    MDK编译,程序加载结果如下: IDE编译,程序加载结果如下: MDK程序是IDE导出的,两个程序是一样的我想在
    发表于 12-29 07:07

    使用RealView MDK进行SW调试和实时跟踪

    使用RealView MDK进行SW调试和实时跟踪 STM32有两个调试端口,即JTAG和SW。Keil 的ULINK2 USB
    发表于 08-02 09:27 4208次阅读
    使用RealView <b class='flag-5'>MDK</b>进行SW<b class='flag-5'>调试</b>和实时跟踪

    keil MDK中使用虚拟串口调试串口

    本内容介绍了keil MDK中使用虚拟串口调试串口
    发表于 05-24 12:07 223次下载
    keil <b class='flag-5'>MDK</b>中使用虚拟串口<b class='flag-5'>调试</b>串口

    MPLAB® X IDE 编译调试(下)

    这一讲我们主要讲MPLAB® X IDE 编译调试下篇。
    的头像 发表于 06-06 02:45 2579次阅读
    MPLAB® X <b class='flag-5'>IDE</b> 编译<b class='flag-5'>调试</b>(下)

    MPLAB® X IDE 编译调试(上)

    本讲我们主要讲有关MPLAB® X IDE 编译调试上篇。
    的头像 发表于 06-06 01:45 4058次阅读
    MPLAB® X <b class='flag-5'>IDE</b> 编译<b class='flag-5'>调试</b>(上)

    Keil(MDK-ARM)系列教程(八)_ 在线调试(Ⅰ)

    Keil(MDK-ARM)系列教程(八)_在线调试(Ⅰ)
    的头像 发表于 03-20 14:54 3145次阅读
    Keil(<b class='flag-5'>MDK</b>-ARM)系列教程(八)_ 在线<b class='flag-5'>调试</b>(Ⅰ)

    Keil(MDK-ARM) 使用教程(三)_在线调试

    Keil(MDK-ARM)使用教程(三)_在线调试
    的头像 发表于 04-07 14:30 5027次阅读
    Keil(<b class='flag-5'>MDK</b>-ARM) 使用教程(三)_在线<b class='flag-5'>调试</b>

    痞子衡嵌入式:MCUXpresso IDE下在线调试时使用不同复位策略的现象总结

    i.MXRT下调试现象不一致》的同系列篇,计划中痞子衡是要把几大经典IDE(IAR EWARM、Keil MDK、MCUXpresso IDE)下的复位策略都写一遍,但一直没抽出时间。
    发表于 11-30 18:06 14次下载
    痞子衡嵌入式:MCUXpresso <b class='flag-5'>IDE</b>下在线<b class='flag-5'>调试</b>时使用不同复位策略的现象总结