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、运行看结果:

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

    关注

    455

    文章

    50791

    浏览量

    423486
  • STM32
    +关注

    关注

    2270

    文章

    10900

    浏览量

    355915
  • 定时器
    +关注

    关注

    23

    文章

    3248

    浏览量

    114774

原文标题:两个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

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

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

    如何在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 4434次阅读
    使用RealView <b class='flag-5'>MDK</b>进行SW<b class='flag-5'>调试</b>和实时跟踪

    两个实用的串口调试助手

    电子发烧友网站提供《两个实用的串口调试助手.zip》资料免费下载
    发表于 07-22 15:22 8次下载

    合并两个排序的链表

    合并两个排序的链表一、题目要求 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 二、我的思路 1、比较
    发表于 01-16 22:02 584次阅读

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

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

    STM32的IAR工程使用Visual Studio Code编译调试

          在工作当中所接触到的开发ARM单片机的IDE主要有MDK和IAR,这IDE虽然都是商业收费软件,但是由于各种和谐大法的流行市面上有很多教程都是使用这
    发表于 12-03 12:06 1次下载
    STM32的IAR工程使用Visual Studio Code编译<b class='flag-5'>调试</b>

    MDK stm32 AD&串口 软件仿真

    Mdk软件调试,选项选择use simulator 即软件仿真下面红框中 一定按照上述文字一字不差填入,右下的两个一定要根据芯片填写妥当。串口数据思路借助串口工具将两个串口相连接使用c
    发表于 12-27 19:16 11次下载
    <b class='flag-5'>MDK</b> stm32 AD&串口 软件仿真

    两个电源的输出串联增大输出电压电路图

    两个电源的输出串联增大输出电压电路图
    发表于 02-09 17:54 4次下载

    基于KEIL MDK环境调试STM32的两个误会

    曾有两个不同的STM32用户反馈了相似的问题,他们在对STM32F7Cube库里的工程例程进行编译时,发现了一令人很不解的事。编译的结果提示芯片内的RAM几乎都耗光了。
    发表于 02-08 16:06 0次下载
    基于KEIL <b class='flag-5'>MDK</b>环境<b class='flag-5'>调试</b>STM32的<b class='flag-5'>两个</b>误会

    两个LED和两个按钮的使用

    电子发烧友网站提供《两个LED和两个按钮的使用.zip》资料免费下载
    发表于 01-30 16:04 1次下载
    <b class='flag-5'>两个</b>LED和<b class='flag-5'>两个</b>按钮的使用

    如何调试GD32虚拟串口的两个BUG?

    最近鱼鹰在搞调试器,折腾了好多天终于理解了 MDK 、下载算法、调试器、MCU 之间的关系。
    的头像 发表于 07-18 17:40 1730次阅读
    如何<b class='flag-5'>调试</b>GD32虚拟串口的<b class='flag-5'>两个</b>BUG?

    功放机AB两个声道输出怎么接

    功放机AB两个声道输出的接线方式,主要取决于您想要实现的音频效果以及音箱的配置。以下将详细介绍几种常见的接线方式,以及它们各自的特点和适用场景。 一、基础接线方式 在大多数情况下,功放机的AB两个
    的头像 发表于 08-23 10:40 2723次阅读