This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2538:处理意外中断

Guru**** 2539500 points
Other Parts Discussed in Thread: CC2538

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/679121/cc2538-handling-unexpected-interrupts

器件型号:CC2538

您好!

我正在使用 CC2538、在"startup_ewarm.c" "IntDefaultHandler"中、它被作为许多意外中断的处理。

因此、mu 软件多次进入该处理程序并停止。

我想知道如何检查谁发送了这个中断、以及如何清除它。 这是在使用 UART0从控制台进行读写操作时导致的。

谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    您可以尝试以下操作:
    对于与故障相关的 IntDefaultHandler (intvec 4,5,6),您可能需要将 IntDefaultHandler 重命名为关联的故障并创建函数。 例如、intvec 5与总线故障相关、因此您可以将 IntDefaultHandler 重命名为"bus_FAULT"、并查看是否触发了该错误。 同样、您可以将所有默认处理程序重命名为关联的故障、并将其添加到启动文件中、然后运行代码并查看程序输入的故障。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、FI、
    我这么做了、该中断来自 UART0。 我也是这样做的

    UINT32 STS = UARTIntStatus (UART0_BASE、false);

    获取状态"0x2F"、这意味着什么。 开始时、我正在呼叫
    " UARTIntEnable (HAL_UART_PORT,(UART_INT_RX | UART_INT_TX));";在 INIT 期间,UART_INT_RX 为0x10,UART_INT_TX 为0x20。 "0x2F"的含义

    然后我做了、
    UARTIntClear (UART0_BASE、STS);

    该系统似乎将进入睡眠状态

    谢谢你