Вы пробовали просто триггерить прерывание по EXTI? Как бы использовать такую логику: получаем прерывание по фронту на GPIO, а в прерывании читаем SPI, снова пинаем АЦП.
UPD: А! Их целых 6 штук! У F767 нет аппаратного триггера? Странно. В Reference manual можно почитать про бит FRF в регистре SPIx_CR2. Там вроде можно переключаться между форматами фрейма. Тогда по идее можно будет просто зайдействовать все 6 аппаратных SPI без каких либо костылей.