调试原理
- STM32F-10X使用M3内核,该内核支持复杂的同i傲视操作,硬件调试模块允许在取指令(指令单步运行)或访问数据(数据断电时)使得内核停止。在内核停止时,内核状态都可被查询,完成查询后内核和外设被复原
- 支持两种操作接口: 串行接口 JTAG调试接口
进入debug窗口
需要注意**,一定先使用ST-Link连接好硬件,设置好配置**




实时调试过程中的按钮作用

在线调试按钮功能讲解
| 按钮名称 | 功能 |
|---|---|
| 复位 | 程序重新开始执行 |
| 执行到断点 | 执行到程序添加断点的地方 |
| 停止运行 | 使得程序和硬件同步停止,可以进入一步一步调试, |
| 执行进去,执行过去,执行出去 | 三个都是针对函数执行来说的 |
| 执行到光标处 | 有点儿像断点,但光标只能有一个 |
| 汇编窗口 | 显示汇编窗口 |
| 堆栈局部变量窗口 | 查看局部变量变化,方便分析 |
| 观察窗口 | 可单独搜索自己想要查看的变量 |
| 内存查看窗口 | 可以用来查看内存中某个地址中数值变化,对状态控制时查看情况很好用 |
| 串口打印窗口 | 出现一个类似串口打印的窗口,显示从串口打印的东西 |
| 逻辑分析窗口 | 查看IO的电平变化 |
| 系统查看窗口 | 各种外设寄存器查看窗口 |

一个查看GPIOB_PE5的例子
首先,连接好硬件,keil5的电源debug打开,

按照上图步骤打开GPIOE的监视窗口


从表中可以看出PE5的输出模式是0011,也就是50MHZ的推挽输出模式,ODR寄存器的读取也是1高电平。















![[网络工程师]-VLAN](https://img-blog.csdnimg.cn/b36d9eb45f7a432ca5601094e516942f.png)




