any_014 发表于 2016-4-18 13:43:27

SPI引脚能否间歇当作外部中断引脚?

请教个问题:stm32的spi和另一个元件通讯,stm32当主设备发送命令结束后,等从设备采样处理,处理结束后把MISO线拉低,通知stm32处理结束可以读取数据了。

原来是stm32发送完命令后就一直等着,等到MISO引脚被拉低后才发送读取数据命令。
现在觉得等待太浪费时间了,想在这段时间内做些其他数据处理。
那么,能把MISO引脚定义为外部中断吗?

xmshao 发表于 2016-4-18 13:43:28


你可以试试把主机发完命令后将MISO脚配置为EXIT功能脚,在EXTI里再把配置为MISO,然后做SPI通信。

any_014 发表于 2016-4-18 15:14:54

void PB4_ExintEnable(u8 en)
{
        GPIO_InitTypeDef GPIO_InitStructure;
        EXTI_InitTypeDef EXTI_InitStructure;
        if(en)
        {
                GPIO_EXTLineConfig(GPIO PortSourceGPIOA, GPIO_PinSource0);
                EXTI_InitStructure.EXTI_Line = EXTI_Line;
                EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
                EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;                //ϽµÑØÖжÏ
                EXTI_InitStructure.EXTI_LineCmd = ENABLE;
        }
        else
        {
                EXTI_InitStructure.EXTI_LineCmd = DISABLE;
        }
        EXTI_Init(&EXTI_InitStructure);
}


这样写,不知道行不行。

wuwovicky 发表于 2016-4-18 21:23:06

楼上的方法可以的,或者开个定时器,隔断时间检测下IO口:P
页: [1]
查看完整版本: SPI引脚能否间歇当作外部中断引脚?