If I have a program with an interrupt routine (reading and writing UART data using a circular buffer) and a main program acessing that data and the shared variables are bytes and declared volatile will I need to disable interrupts while the main program is accessing those bytes?