打印
[PIC®/AVR®/dsPIC®产品]

断点的故事: 2.数据断点

[复制链接]
697|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lcczg|  楼主 | 2020-1-20 15:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我想大多数人都应该没有用过数据断点。先思考一下,什么是数据断点,有什么用。

想想这个情形:曾经面对程序的某个变量,偶然会出现异常,于是在每个赋值的地方打断点,停下后观测其值是否正确。
因为偶然,所以大多数时候是空耗气力。虽然最终能够抓到,但过程却崎岖不平。

数据断点简而言之是针对数据的断点。也是说针对数据的操作能够设置断点抓到,只要你提供一个数据所在的
地址。
这样,前面麻烦的乌云是不是一扫而光。
来一个鲜活的例子,串口打印,且记下次数。
下图中cnt用作打印计数器,数据断点在其值为8时就停下来。可以看到串口窗口中的对应的输出。



我们再抓一下打印的ASCII码 '/n', 就是往串口发送寄存器TXREG写入0x0A的时候,

此时TX2REG的值


数据断点还有其他的选项,感兴趣的朋友可以尝试一下。
现在对于飘忽的象野马一样的数据,我们是不是有了套马索一样的利器。

PIC18F47Q10的例子工程见附件,基于MPLAB X IDE 5.30 & XC8 2.10创建。
=====================
另:

断点的故事:1.软硬  https://bbs.21ic.com/icview-2874280-1-1.html








pic18f47q10 debug.zip

49.32 KB

使用特权

评论回复
评分
参与人数 1威望 +10 收起 理由
xyz549040622 + 10 很给力!
沙发
xyz549040622| | 2020-1-20 23:38 | 只看该作者
PIC没玩过,这么做的前提是仿真器和编辑器要支持,MDK不知道支持不?

使用特权

评论回复
板凳
lcczg|  楼主 | 2020-1-21 10:36 | 只看该作者
xyz549040622 发表于 2020-1-20 23:38
PIC没玩过,这么做的前提是仿真器和编辑器要支持,MDK不知道支持不?

是的,仿真器要支持

使用特权

评论回复
地板
pzsh| | 2020-1-22 10:35 | 只看该作者
深入, 有趣, 套马索一样的利器

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:滴水可穿石,众志更成城 http://my.21ic.com/static/image/smiley/comcom/2.gif

31

主题

880

帖子

4

粉丝