Thread 中讨论的其他器件:SYSBIOS
尊敬的支持团队:
我们有一个连接到多个数字输入中断的 ISR;下面是代码片段。 消息队列(sMsgQId)在多个中断之间共享。 我看到 Mailbox_post ()内的队列更新受到 Hwi_disable 和 Hwi_restore 的保护。 IsrCallback 中使用的所有其他变量都是局部变量。 您是否在 IsrCallback 内部看到任何其他可破坏可重入性的环孔?
无效
DigitalIO::IsrCallback (uint32 gpioHwId)
{
uint32 hwState = 0;
HalErr halError = HalGpioRead (static_cast (gpioHwId)、
hwState (hwState);
if (HAL_eok =halError)
{
IOControlMsgData msgTxBuffer;
msgTxBuffer.HWID = static_cast (gpioHwId);
msgTxBuffer.hwState = hwState;
if (nulptr!= DigitalIO::sMsgQId)
{
OsaMsgQSend (DigitalIO::sMsgQId、
static_cast (msgTxBuffer)、
sizeof (IOControlMsgData)、
OSA_NO_WAIT);
}
}
}
谢谢
Abhijit