您的位置 首页 传感器

关于调试STM32程序时,某些标志位被调试软件意外铲除的问题

在调试的过程中,使用调试软件的寄存器或存储器显示窗口,可以很方便地查看外设寄存器的状态。很多朋友都碰到过这样的问题:在单步调试时始

在调试的过程中,运用调试软件的寄存器或存储器显现窗口,能够很方便地检查外设寄存器的状况。

许多朋友都碰到过这样的问题:在单步调试时一直不能在显现窗口看到某些标志位的改变,应该设置这些标志位的时分,窗口中却显现为0,不少人都过错地以为这是芯片的问题。

咱们知道,不少STM32外设的状况寄存器位,能够经过对某些寄存器的读操作而铲除(例如I2C的I2C_SR1中的许多标志位),在调试过程中,每逢程序中止在设置的断点或单步中止时,调试软件都会自动地读出一切指定的寄存器和存储器中的内容,并改写窗口的显现,调试软件的这个读操作刚好铲除了那些标志位,造成了上面描绘的现象。

有几个简略的方法处理这个问题:

1)封闭寄存器或存储器显现窗口
2)在寄存器或存储器显现窗口中不显现这些灵敏的寄存器
3)不要把断点放在对这些灵敏的寄存器位操作的前面,以确保这些寄存器位不被调试软件意外地操作。
4)看官自己增加~~~~~

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/chuanganqi/254495.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部