我目前正在开发一个系统,该系统包括向通过UART连接到Atmel SAML21 Xplained Pro电路板的传感器设备发送请求字符串。我正在测试Arduino板作为“传感器设备”,但最终它将用于Rotronic HC-2传感器。 的过程是这样的: MCU sends string { 99RDD} over UART to sensor
-> delay of up to 500ms
->
ARM Cortex-M内核文档说,执行了异常输入堆栈分帧。这会导致寄存器R0,R1,R2,R3,R12,LR,PC,xPSR被压入当前堆栈。 我的问题是为什么这种方式只推送这些寄存器而不是所有的上下文?例如,如果某些数据在R5寄存器中,则在异常处理程序使用该寄存器的情况下将被覆盖。 异常处理程序的编译函数本身会推送一些寄存器(以及其他常规函数,因为异常处理函数没有区别),但经过很多调试后,我发现