成为订阅者(免费)

加入29,000名其他订阅者以获得用户销售折扣和 其他免费资源。
:
:
大学教师'担心 - 您的邮件地址完全是 安全的。我保证使用它 只要 to send you MicroZine.

一般调试方法

大多数这些调试技术都可以应用于任何 微控制器由于它们不使用任何特定工具。这些方法 处于金属水平I.E.S最低硬件级别,您可以使用 当您无法访问昂贵的逻辑分析仪时 在线模拟器。即使他们很简单,他们仍然非常 effective.


一般调试方法

调试硬件有很多方法:

  • 冰。
  • ICD。
  • 模拟。
  • 串行RS232。
  • 液晶。
  • 引领。
  • 硬件销。
  • 逻辑分析仪。

电路仿真器是调试硬件的最昂贵方式。你买一个 物理地取代正常处理器的特殊处理器。这个 特殊处理器允许软件访问内部操作 处理器(您可以在硬件模块上设置断点)。

ICD(PIC微控制器)

冰的下一个最好的事情是ICD(电路调试中)有时被称为 (BDM - 背景调试模式)。它允许您通过nba竞猜单步 实际上在目标处理器中运行。

对于ICD,处理器具有少量的内置硬件,可以停止 程序达到特定地址时的处理器。软件 然后可以读回所有寄存器和处理器状态。既然 支持ICD的处理器具有内置ICD硬件,唯一的 额外费用是ICD通信硬件(PC和PC之间) 处理器/微控制器)。

如果你不'有冰或icd,那么你有几种选择 调试微控制器的数据。这些是RS232,LCD或A port pin.

仿真也是一个有用的调试方法,然后才开始调试 hardware.

模拟

您可以在汇编程序级别模拟nba竞猜,但它更容易 如果使用内置于编译器中的源级模拟器,请调试 environment.

使用内置模拟器,您可以逐步浏览高级语言nba竞猜 并看到它对内存和变量的影响,而无需查看 汇编程序nba竞猜直接。这让您专注于高水平 语言操作,让您专注于您的问题 trying to solve.

模拟器的一个很大优势是您不必等待 下载并编程目标处理器(您必须重新编译 更改其源nba竞猜后的nba竞猜)。所以你可以剪掉 耗时使用模拟器的编程任务。

使用模拟器允许您快速查看更改的效果并查看 您的nba竞猜的内部操作。您可以通过nba竞猜和设置步骤 断点(模拟器必须停止和等待的位置) nba竞猜。当您对您可以的nba竞猜的操作感到满意时 知道nba竞猜更有可能工作的硬件上尝试。

一些模拟器向您展示了nba竞猜正在服用多长时间 - 向您展示时钟 高级陈述和一些提供秒表 设施。这可以在nba竞猜中的任何点重置,并让您看看, 准确,nba竞猜多长时间 - 对于时间关键nba竞猜有用。

注意:模拟器对调试中断并不适合。

使用硬件调试

串行RS232.

较新的微控制器有一个内置的UART,给您一个几乎免费的调试 使用最小资源和需要非常小的软件编码的工具。

对于调试输出,您需要将UART输出引脚(TX)连接到合适的 水平翻译电路例如MAX232芯片。你甚至可以逃脱 直接连接(通过电阻)到PC串口的输入 (但这取决于您的PC硬件的细节) - 使用a 翻译芯片始终工作。

注意:如果你不'要在板上放置一个级别的翻译芯片 您可以将一个放在外部板上(PC和生产之间 木板)。只要TTL引导到了 微控制器到电平翻译芯片保持短(〜15cm)。

优点

  • 最小的编码。
  • 易于使用。
  • 最小的额外硬件。

缺点

  • 需要很长时间才能输出字符(〜1ms)。
  • 对于字符块(〜10多毫秒)需要更长的时间。
  • 需要额外的硬件。

即使通过它需要时间来输出一个有用的角色 调试工具,因为您可以输出变量的值,以查看其中的内容 微控制器真的在做。

液晶

一个 LCD(液晶显示器)提供了一种显示调试的方便方式 信息。它对需要文本的许多不同应用程序也很有用 display output.

它是一个模块,显示文本字符和公共屏幕 大小是16行的16个字符。

大多数LCD模块使用HD44780控制器芯片,这就是为什么LCD 内置于高级语言的例程始终有效。

优点

  • 非常快速更新(40us 4位数据总线)。
  • 在许多项目中有用作为主显示界面。
  • 易于接口到8位端口(仅需要8位中的六个)。

缺点

  • 使用8位端口。
  • 硬件更昂贵(例如,与串行端口芯片相比)。

引领

使用LED作为微控制器'alive' indicator.

即使闪烁着LED是如此简单的事情,也可以打开和关闭 作为调试工具非常有用,因为您可以一目了然 您刚下载的nba竞猜正在工作。

有时您可以错误地设置参数 编程软件或编译器将停止nba竞猜死亡。

引领指示器为您提供快速健康检查 微控制器很容易看到。

别针 Debugging

这是最简单和最粗略的调试方法;使用任何 可用的端口销。只需在nba竞猜中的任何点设置或重置此引脚 you want to monitor.

它对nba竞猜或尺寸的影响最小,并且可以给您 以下信息:

  • 您可以判断nba竞猜是否处于活动状态。
  • 它为您提供重复率。
  • 它为您提供了日常时间长度(如果您在开始时设置PIN 重置它最后)。

注意:要进行测试,您需要示波器或频率 计数器和时间间隔测量工具。

调试中断

首先不要使用RS232来生成来自内部的调试数据 打断。 RS232通常太慢,中断例程通常必须 快速,让他们让这些计划的其余部分完成它的工作。如果你使用 RS232它会导致ISR(中断服务例程)慢 可以影响其余程序的运行方式 - 它甚至可能崩溃。

在一个我在软件工程师工作的项目(习惯于工作) 在PC软件上)使用ISR中的RS232输出。 ISR的速度很高 传输系统 - 系统将随机失败。到软件 工程师这立即表示松散的电线(或等效)。这个 随着个人的设计和测试,在PC中已经被加强了 环境。该软件进展,不可能是错误的!

当然,责备游戏开始 - 软件责备硬件& 硬件责备软件。逻辑分析仪被带出,更简单 编写的nba竞猜和一段时间的分析。

为了避免所有这些,最好是硬件设计师写简单 在最低级别锻炼硬件的nba竞猜。你需要的只是 制作nba竞猜重复任务:写入数据闩锁,以便您可以 请参阅示波器上的信号质量。

调试ISR的最佳方式是什么?

这 最佳方法是在微控制器上使用备用销(除非您有一个有意义的逻辑分析仪!)。你设置了这个pin 在ISR的开始并在最后清除它。你观察别针 使用示波器。这为您提供了许多信息:

  • 它表示中断已被调用。
  • 它为您提供中断重复率。
  • 它为您提供了中断日常时间长度。

因此,使用单个输出引脚进行调试给出了最快的方法 对nba竞猜的影响最小。你可以使用更多的别针来显示不同的别针 information.

注意:如果没有其他备用,您可以使用连接到LED的引脚 pins available.

甚至 如果您只有一个逻辑探头来查看PIN的这种调试方法仍然存在 提供有用的信息即,它显示中断处于活动状态。

逻辑分析仪

此工具连接到您想要观察的引脚并捕获 在单个显示器上显示多个迹线的波形。它使用A. 触发模块可以设置为激活输入的组合 信号或它们的长度。所以你可以触发特定模式或 on glitches or both.

对于基于非微控制器的系统(例如,基于80486)的数据和数据 地址总线暴露了逻辑分析仪可以显示地址和数据 组织成六角词即是可读的。有些人可以拆卸 说明处理器在触发点处做什么。

对于基于微控制器的系统,逻辑分析仪可以有用 检查外围操作e。用于调试SPI或IIC总线 一些逻辑分析仪也支持这些协议。

逻辑分析仪的另一个用途是捕获距离的输出 period of 时间取决于逻辑分析仪的内存容量。这是 如果你有一个偶尔的问题很难 出现 - 您可以在执行Spcific序列时设置触发点 nba竞猜或信号线上的特定横向组。

概括

在 短暂有很多技术可以调试您的硬件从简单的范围进行调试(一个 输出引脚)复杂(逻辑分析仪)。所有这些都可以取决于 关于你想要解决的问题。

额外的位

听数字信号

万用表上的Buzz选项非常有用,因为它告诉您 当有一个短暂的时候立即,没有你必须读取阻力 阅读显示。

以下电路使用类似的想法,除了他们不't check for 短裤,但让您在电路中倾听数字信号。

我目前拥有这个电路的主要用途是收听ICSP 编程芯片时从MPLAB X信号。 mplab x可能需要一段时间 在它重新构建nba竞猜(c)之前,然后启动程序员(软件) 然后绕过做实际的编程(不同的一块 软件)。所有的虽然你留下盯着屏幕等待着 "programming complete" message to appear!

然后你可以测试nba竞猜 - 可能会发现你遗漏了一个小小的 行动,因此必须再次通过整个过程!

这个侦听器电路允许您忘记MPLAB X,因此您可以执行其他 检查您正在写入或读取数据表的nba竞猜等任务 由于您可以使用此电路聆听编程结束,因此它意味着您 可以节省一些时间,这总是一件好事。

图1显示了数字逻辑FET的使用,如您所期望的,可以使用 栅极电压对逻辑电平敏感。对于2n7000 vgs之间是 0.8V和3.0V - 如果需要3V3逻辑,2N7002的VGS从1V到2.5V但 对于典型值,两个部分的典型VGS为2.1V

2n7000非常有用,因为它不会通过门绘制电流所以它 可以附加到系统中的任何(逻辑)信号。这与鲜明对比 图2中所示的电路,其中使用Darlington对 - 在这种情况下a 通过1K电阻通过底座绘制小电流

数字监听器电路2n7000

达灵顿对(图2)停止太​​多电流 自测试以来,基座(根据单个晶体管使用时的情况) 每个晶体管的(当前增益)乘以另一个。它类似于 除了其触发电压为〜1.4V之外,对FET的操作。

数字听众电路达林顿

如果您想收听不同的信号(也许它们发生在不同 时间)例如iSCP和串行输出,那么图3显示了如何使用两个二极管 a diode-OR gate.

数字监听器电路二极管或门

注意:您可以使用Piezo Crystal(矿井附加到旧的案例 观看意味着它应该更响亮 - 但它仍然太安静!)

注意:您可以使用任何旧的NPN晶体管,例如,使用Beta 100或更好。

新的! Comments

让你说到你刚刚阅读的东西!留下下面的框中的评论。




隐私政策 | 接触 | 关于我

网站地图 | 使用条款


ezoic.报告此广告

访问我们的Facebook页面:

   点击这里



最近的文章

  1. 如何使用ADS1115

    使用ADS1115精度16位ADC进行教程进行低功耗。

    阅读更多

  2. arduino.模拟输出...易模拟输出生成

    arduino.模拟输出:如何创建最精确的PWM模拟输出以及如何创建模拟PWM正弦波。

    阅读更多

  3. 数号和等效的快速宏。加快nba竞猜!

    了解DigitalWrite()的工作原理......现在使用17倍宏宏!

    阅读更多

  4. TCS230颜色传感芯片:如何运作以及如何使用它。

    如何使用TCS230(/ TCS3200)彩色检测器芯片并轻松将其添加到您的任何项目中。

    阅读更多

  5. 如何使用ADXL345进行运动感测等。

    使用ADXL345 Acellerometer,您可以检测到16G!您还可以了解如何使用它来点击检测等。

    阅读更多

  6. HMC5883L 3轴数字MAGENTOMTER如何运作

    HMC5883L - 如何制作数字罗盘,了解HMC5883L和QMC5883L之间的差异以及它们是否兼容。

    阅读更多



读者 Comments

"I wanted to thank
你这么好
对于所有信息
你已经提供了
你的网站's

高超极好的."

- 逃亡Potthath.

"This site really is
最好的和我最喜欢的。
我发现这里有很多很有用
项目和提示。"

- 米兰

Bursach.<at>gmail.com<

"Awesome site,
非常,非常容易和好
导航!"


-
镭_tr.<at>
wolf359.cjb.net.


学习微控制器

"Interested in
微控制器?"

注册
免费7天指南:

自由 GUIDE : CLICK HERE


"I am a newbie to PIC
我想说
 how great your
网站一直在为我。"


- 戴夫

de_scott.<at>bellsouth.net

"Your site is a great
和完美的工作。
恭喜。"


- SURESH.

在 tegratedInfosys.<at>
Yahoo.com.

"I couldn't find the correct
要定义的词语
你的网页。

非常有用,揭开,
诚实明确。

非常感谢
你的时间和作品。
问候。"


- 一个on.

回到顶部