Microchip
直播中

张丽华

8年用户 168经验值
私信 关注
[问答]

如何在dsPIC的XC16中读取程序计数器

您好,在dsPIC上读取XC16中的PCL和PCH sfr寄存器是否允许/有可能(例如,将它们组合成一个无符号的长)我发现这个模拟帖子是在dsPIC上可直接读取的PCH吗?我能用这个片断吗?或者这个

回帖(5)

王璨

2020-4-13 10:15:18
在DSPIC、PCH和PCL上进行了内存映射。因此阅读不应该有任何问题。你也可以自由地把阅读的价值结合到你喜欢的任何东西上。如果您有一点幸运,两个寄存器已经通过设备特定的头文件可用。(我没有检查)另一个线程是关于PIC18:不同的家庭,不同的解决方案。
举报

王莹

2020-4-13 10:32:15
感谢澄清,我去尝试一下。
举报

李天竹

2020-4-13 10:47:23
首先,不需要读取它们,因为正在执行的代码的位置在编译时是已知的。其次,如果读取它们,它们将涉及不同的位置——PCH将反映读取PCH的指令的位置,PCL将反映指令的位置,而PCL将反映指令的位置。H读取PCL。如果它在PCL滚动的地方附近,自由地组合它们将产生不期望的结果。你需要更加努力地把它们组合起来。你可以在一个指令中读取它,但是恐怕你必须使用汇编程序。“指令”可以同时读取它们。RCAL$ 2将把它们放在书架上,为什么你一开始就需要阅读它们呢?
举报

王莹

2020-4-13 10:53:36
@NorthGuy谢谢你的解释(我不喜欢detph汇编程序),我在寻找在代码中创建一种“动态延迟”(我现在通过使用连续运行的外围定时器来解决它),第一个想法是使用程序计数器作为主循环中的动态延迟的指示器,并且因此而存在同时使用程序计数器的E中断代码,但这是不正确的。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分