zoukankan      html  css  js  c++  java
  • 【转】分享两个基于MDK IDE的调试输出技巧

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

    来源

  • 相关阅读:
    PyCharm 2020 激活到 2100 年
    PyTorch-22 学习 PyTorch 的 Examples
    机器视觉的主要研究内容和细分方向(超全超赞)
    CVPR 2020 全部论文 分类汇总和打包下载
    2020年,加油鸭
    SpiningUP 强化学习 中文文档
    大学C语言基础——30天挑战PAT甲级(一)
    明天提交辞职报告
    要开始新的技术之旅了
    记忆是件奇怪的东西
  • 原文地址:https://www.cnblogs.com/skullboyer/p/10169540.html
Copyright © 2011-2022 走看看