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.

[参考译文] CC2540:中断优先级导致 CC2540崩溃

Guru**** 2535750 points
Other Parts Discussed in Thread: CC2540

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/598397/cc2540-interrupt-priority-causing-cc2540-crash

器件型号:CC2540

您好-

我正在尝试提升组2:UART0和 T2的优先级、因为我需要 DMA 对 UART 中接收到的消息做出非常快速的响应。 我还在使用 BLE 无线电。

我的问题是:当我将组2设置为最高优先级、将 RF/DMA 设置为更低的优先级时、CC2540会在我启动 BLE 时立即锁定(停止响应 UART ISR、如果我暂停调试器、则寄存器中的所有值都为0xFF)。 我猜这是因为计时器2 (MAC 计时器)和射频无线电的使用方式使射频无线电必须更高、但我希望尽可能获得更正式的答案、而不是我的猜测。

我将通过以下方式更改优先级:

IP0 = 0x05;// UART0现在优先于 RF/DMA
IP1 = 0x14;

提前感谢!

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

    您回答正确;BLE 堆栈使用 T2。 如果您使用 BLE 堆栈来执行无线电操作、我们不建议更改这些优先级。

    祝你一切顺利