keil和jlink仿真调试stm32串口时,怎么一直看不到接收寄存器变化?程序不仿真直接运行是正
发布网友
发布时间:2022-04-26 06:48
我来回答
共2个回答
热心网友
时间:2023-10-08 19:31
这说明你对单片机串口的结构不了解。
串口接收部分有一个移位寄存器和一个保持寄存器,每次读操作都会导致移位寄存器的内容被移到保持寄存器里。悲催的是,只要你调试时监控接收寄存器,那么仿真器是不停对串口进行读操作的……
所以对串口进行硬件调试是有一定技巧的。一般应当在接收处理时将接收到的数据(连同各标志)全部移到一个调试用的缓冲区中,开发人员通过对缓冲区中数据和标志的情况进行分析,判定串口部分工作是否正常。
热心网友
时间:2023-10-08 19:31
不要单步去看寄存器变化,你把断点设在接收之后的一条语句再看。追答不要单步去看寄存器变化,你把断点设在接收之后的一条语句再看。