Could you please explain why `timeout` variable has no `volatile` modifier in this file? https://github.com/controllerstech/stm32-uart-ring-buffer/blob/f0c5983efda1bdeebd7c970515918f78517541e0/Src/UartRingbuffer.c#L20 I understand why it has that modifier in the interrupts file.