SPI引脚能否间歇当作外部中断引脚?
请教个问题:stm32的spi和另一个元件通讯,stm32当主设备发送命令结束后,等从设备采样处理,处理结束后把MISO线拉低,通知stm32处理结束可以读取数据了。原来是stm32发送完命令后就一直等着,等到MISO引脚被拉低后才发送读取数据命令。
现在觉得等待太浪费时间了,想在这段时间内做些其他数据处理。
那么,能把MISO引脚定义为外部中断吗?
你可以试试把主机发完命令后将MISO脚配置为EXIT功能脚,在EXTI里再把配置为MISO,然后做SPI通信。 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);
}
这样写,不知道行不行。 楼上的方法可以的,或者开个定时器,隔断时间检测下IO口:P
页:
[1]