Nicholas Wu 发表于 2021-8-24 15:14:02

产品

void Port8_CS_Handler(void)
{
        printf("Port8 CShotplugIN\r\n");
        g_Port8.portstatus =EXIO_Port_CS_CHECK(PORT8);
        g_Port8.porttype = EXIO_DIDO_CS_CHECK(PORT8);
       
        if(g_Port8.portstatus == ONLINE)
        {
                        if(g_Port8.porttype == OUTPUT )
                        {
                                g_Port8._uIIC = IIC1;
                        }else{
                                g_Port8._uIIC = IIC2;
                        }       
                        //delay for IIC init
                        DISABLE_INT();
                        delay_ms(PLUGIN_DELAY);
                        ENABLE_INT();
                       
                        int count =20;
                        while(count-- >0)
                        {
                                if (EXIO_Port_CS_CHECK(PORT8) == ONLINE)
                                {
                                        break;
                                }
                                delay_ms(50);
                               
                        }                               
                       
                        if(PCA9555Init(&g_Port8)==IIC_OK)
                        {
                                printf("PORT8_IIC init OK\n\r ");
                               
                                if (g_Port8.porttype == INPUT)
                                {
                                        U_INPUT inp;
                                        EXGPIO_GetData(PORT8,&inp);       
          g_Port8.data = inp.data;                                       
                                }
                               
                        }else{
                                printf("PORT8_IIC init error\n\r ");
                        }                       
               
        }

       
}


butterflyspring 发表于 2021-8-25 10:59:45

楼主没有将MCU的配置以及要工作的方式说得具体些。这里猜测是外部中断。这个中断里用了打印和延时,看起来时间很长。再次有中断进来的话,会没有时间去执行。建议你测测这个中断的执行时间,考虑优化一下。

STMCU-管管 发表于 2021-8-24 16:54:22

你好,标题可以再编辑一下,问题可以说明一下原因,谢谢!

Nicholas Wu 发表于 2021-8-25 08:48:01

STMCU-管管 发表于 2021-8-24 16:54
你好,标题可以再编辑一下,问题可以说明一下原因,谢谢!

现在在搭建一个用IO控制的服务器,可是当DI输入状态变化时,有时中断不响应。怀疑是中断屏蔽状态下,有DI中断申请,但被屏蔽,进不了中断。请问是什么原因呢

Nicholas Wu 发表于 2021-8-25 08:54:28

现在在搭建一个用IO控制的服务器,可是当DI输入状态变化时,有时中断不响应。怀疑是中断屏蔽状态下,有DI中断申请,但被屏蔽,进不了中断。请问是什么原因呢
页: [1]
查看完整版本: 产品