请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320F280049C 工具与软件:
您好!
我目前正在使用 TI C2000微控制器开发一个应用、并且对其中断处理行为有疑问。
我知道、C2000架构默认情况下不支持嵌套中断。 在本例中、我在每个50 µs 上都有一个中断发生。 但是、中断服务例程(ISR)有时需要比50 µs 更长的时间才能完成(例如、70 µs)。
在这种情况下、我想确认预期行为:
- 如果下一个中断请求在50 µs 上发生、而之前的 ISR 仍在运行、那么新中断是立即被处理、还是在当前 ISR 完成之前一直保持挂起?
- 如果中断保持挂起、它是在当前 ISR 完成后(即在70 µs 时)立即被处理、还是等待下一个预定的中断周期(即在100 µs 时)?
- 在默认设置下是否存在 ISR 重新进入或意外执行重叠的风险?
- 如有必要、建议使用哪种方法防止在这种情况下出现 ISR 过载或处理延迟?
如果您能对这些要点进行说明、以及对在 C2000中高效处理高频中断的最佳实践有任何指导、我将不胜感激。
谢谢!
Conor
