调试STM32程序时,某些标志位被调试软件意外清除

来源:本站
导读:目前正在解读《调试STM32程序时,某些标志位被调试软件意外清除》的相关信息,《调试STM32程序时,某些标志位被调试软件意外清除》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《调试STM32程序时,某些标志位被调试软件意外清除》的详细说明。
简介:本文介绍了调试STM32的程序时寄存器被意外清除的原因和解决方法。

在调试的过程中,使用调试软件的寄存器或存储器显示窗口,可以很方便地查看外设寄存器的状态。

很多朋友都碰到过这样的问题:在单步调试时始终不能在显示窗口看到某些标志位的变化,应该设置这些标志位的时候,窗口中却显示为0,不少人都错误地认为这是芯片的问题。

我们知道,不少STM32外设的状态寄存器位,可以通过对某些寄存器的读操作而清除(例如I2C的I2C_SR1中的很多标志位),在调试过程中,每当程序停止在设置的断点或单步停止时,调试软件都会自动地读出所有指定的寄存器和存储器中的内容,并刷新窗口的显示,调试软件的这个读操作恰好清除了那些标志位,造成了上面描述的现象。

有几个简单的办法解决这个问题:

1)关闭寄存器或存储器显示窗口

2)在寄存器或存储器显示窗口中不显示这些敏感的寄存器

3)不要把断点放在对这些敏感的寄存器位操作的前面,以保证这些寄存器位不被调试软件意外地操作。

4)看官自己添加~~~~~

提醒:《调试STM32程序时,某些标志位被调试软件意外清除》最后刷新时间 2024-03-14 01:08:47,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《调试STM32程序时,某些标志位被调试软件意外清除》该内容的真实性请自行鉴别。