亲爱的香榭丽舍,
我是向客户提出这一要求的。
用户正在考虑在其项目中参考我们的基于 I2C 的 PMBus 示例。
主 示例和从属示例中似乎都使用了 I2CA ISR 和 I2CA_ FIFO ISR。
为什么需要这两种 ISR?
如果用户想要将我们的 PMBus 包含在 I2C 库中,他们是否还需要同时使用两个 ISR?
因为用户使用嵌套 ISR,所以当他们使用这两种 ISR 时,哪一种应该是之前的 ISR,或者应该是相同的优先级?
黄韦恩
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.
亲爱的香榭丽舍,
我是向客户提出这一要求的。
用户正在考虑在其项目中参考我们的基于 I2C 的 PMBus 示例。
主 示例和从属示例中似乎都使用了 I2CA ISR 和 I2CA_ FIFO ISR。
为什么需要这两种 ISR?
如果用户想要将我们的 PMBus 包含在 I2C 库中,他们是否还需要同时使用两个 ISR?
因为用户使用嵌套 ISR,所以当他们使用这两种 ISR 时,哪一种应该是之前的 ISR,或者应该是相同的优先级?
黄韦恩
韦恩
[引用 userid="4952" url="~/support/icles/c2000微控制器-组/CC2000 /f/c2000微控制器-论坛/1080406/tms320f280039c-both - i2ca 和 i2c_- fifo - ISR -必需的 PMBus-about-i2c-examples[此处]?是的。 需要两个 I2C ISR 例程。 状态机取决于两个 ISR 例程。
I2C ISR 处理器 -在停止条件下触发,并准备好传输
I2CFIF0 ISR 处理器-由 RX FIFO 中断触发
[引用 userid="4952" url=~ë/support/icc-nother-group/CC2000 /f/c2000微控制器-forume/1080406/tms320f280039c-both -i2ca and -i2c_ fifo-ISR 必需的 PMBus-about-i2c-besting 示例],他们应该在哪些情况下使用这些示例,或者应该在哪些情况下使用,因为它们应该是相同的,或者应该在何时使用?]CPU (INT8) I2C 中断线路中的 I2C 中断和 I2C FIFO 中断。 但是,I2C 中断比 I2CFIFO 中断具有更高的优先级
此致,
马诺伊
亲爱的 Manoj:
关于优先事项,让我更清楚地说明。
我知道 I2CA 是 INT8.1,I2CA_FIFO 是通过硬件优先级选择的 INT8.2,默认情况下不会嵌套中断。
在此,用户使用软件嵌套 ISR,因为他的项目中有许多 ISR,他希望优先级较高的 ISR 可以中断优先级较低的 ISR。
在我们的示例中,因为只有两个 ISR,并且没有使用软件嵌套 ISR。 我们可以假定它们可以设置为相同的优先级,并让硬件优先级-默认情况下运行 INT8.1和 INT8.2。 在这种情况下,如果先维修 INT8.2 ISR,则 INT8.1 ISR 门槛需要等到 INT8.2 ISR 完成。
我们想知道 ,即使用户可以通过软件更改其优先级,这种情况(具有相同软件优先级的 INT 8.1/8.2)是否仍是我们所建议的。
或者,我们是否建议使用软件嵌套让 INT8.1在 INT 8.2首先得到服务以获得更好的性能时中断 INT8.2?
黄韦恩
亲爱的 Manoj:
我已将这种基于 I2C 的 PMBus 示例集成到另一个代码中,许多嵌套 ISR 同时运行。
令我惊讶的是,I2CFIF0 ISR 处理器(INT8.2) 必须在软件优先级上先于 I2C ISR 处理器(INT8.1),才能使其保持良好的连续运行。
如果我将 I2C ISR 处理程序(INT8.1)设置为等于 或早于 I2CFIF0 ISR 处理程序(INT8.2),则会卡住。
供您参考。
到目前为止,我只测试了这些测试,这些测试可以基于此帖子很好地运行。
韦恩
令我惊讶的是,I2CFIF0 ISR 处理器(INT8.2) 必须在软件优先级上先于 I2C ISR 处理器(INT8.1),才能使其保持良好的连续运行。
如果我将 I2C ISR 处理程序(INT8.1)设置为等于 或早于 I2CFIF0 ISR 处理程序(INT8.2),则会卡住。
[/引用]您能否共享修改后的代码,使 INT8.2优先于 INT8.1?