0

我的环境...

  • PIC24
  • MpLab (V.8.80)
  • ICD 3

我有一个我想观察的字节,以查看哪些例程正在读取,哪些例程正在实际写入,以及何时发生

我只能设置断点

  • 当字节被写入时,或
  • 当它被阅读

有谁知道我可以在任一访问上设置断点的方法?即,我想看看写了什么,读了什么,以什么顺序,通过哪个指令,在哪个例程中。

我只有一个 PICkit 3 和这个 ICD-3。这是一个双处理器系统,其中两个芯片通过一些连接(最终通过外设引脚选择)到各自的 UART 的电线进行通信

我从来没有使用过、接触过,甚至没有见过真正的冰。那会让我这样做吗?即,任何总线内存访问。

这就是 MpLab 让我现在用 ICD-3 做的事情 在此处输入图像描述

4

1 回答 1

0

您能否将变量包含在如下函数中到新的 .c 文件中。在头文件上设置定义。

它可能有点重,但更换它可能会有所帮助。FILELINE是编译器标志,让您知道源代码上的哪个文件以及在哪一行调用它。Nop(); 是否存在,因为中断可能会延迟几条指令。

在文件和行上添加一个监视以查看它的调用位置。

#define setvar(x) zsetvar(x, __FILE__, __LINE__)
#define getvar() zgetvar( __FILE__, __LINE__)


byte my_var;

void zsetvar(byte val, volatile char * file, volatile char * line)
{
 my_var = val;// set breakpoint
 Nop(); 
}
byte zreadvar(volatile char * file, volatile char * line)
{
 Nop(); //set breakpoint
 Nop();
 return my_var;
}
于 2014-01-03T12:41:29.050 回答