CMD0xE0_Request_ThrowHDError.c 926 B

123456789101112131415161718192021222324252627282930
  1. #include "stm32f4xx.h"
  2. #include "core_cm4.h"
  3. #include "CommandsDefine.h"
  4. #include "ProjectConfig.h"
  5. #include "Probe_MSO7000X_2d5g.h"
  6. #include "AnalogChannelCtrl_2d5g_base.h"
  7. //////////////////////////////////////////////////////////////////////////////
  8. // 2203/7/X GHz_ljw 合并版
  9. //////////////////////////////////////////////////////////////////////////////
  10. void throwHardFaultException(void)
  11. {
  12. SCB->SHCSR |= SCB_SHCSR_USGFAULTENA_Msk; // 使能硬件异常
  13. SCB->CCR |= SCB_CCR_DIV_0_TRP_Msk; // 触发除零异常
  14. // 设置硬件异常为挂起状态
  15. NVIC_SetPendingIRQ((IRQn_Type)0x03);
  16. // 在下一个时钟周期中触发硬件异常
  17. __DSB();
  18. __ISB();
  19. }
  20. void CMD0xE0_Request_ThrowHDError_process(u8 *pData,u16 dataLen,u8 bIsContentBitInverted_Recv,u8 bIsContentBitInverted_SendBack)
  21. {
  22. Command_SendbackOKMessage();
  23. throwHardFaultException();
  24. volatile int dummy = 0;
  25. }