Interrupt to trigger SPI read of external ADC (MCP3464)

Your thread may be blocked for some dispatcher time-slices by other threads. I'd try to wait for an event. I have no idea of the ESP firmware, no specific suggestions.