andy_code <andy_code@xxxxxxxxxx> writes: > FPGA_UART_DATA is a structure of word size (16bits) where the first char is a > bit field which gives me information about the status of the uart and its > buffer and the second char is the actual key press. > > I have declared the pointer as volatile and I have declared each element of > the structure as volatile, it makes no difference. even register makes no > difference. You're going to need to show us a complete standalone program which shows the problem. You have given us a code fragment and a text description. That is not enough. The details are essential. Ian