Peripherals registers and mutex

michaeln32 wrote on Tuesday, August 22, 2017:


Lets say that I have system with 2 tasks.

both of the tasks are writing and reading into and from HW Peripherals registers (for example data UART register or GPIO).

It is necessary to use mutex on the HW Peripherals register in this case ?

Thank You


rtel wrote on Tuesday, August 22, 2017:

Your question is a bit too generic for a definitive answer, but the
answer is most likely ‘yes’.

If you are writing to a a UART then it takes many writes to the UART
registers to write the data to be transmitted character by character (of
using a FIFO, or whatever), and many reads of the registers to control
the output, and a finite time for the characters to actually be
transmitted - so you only want one task doing that at a time. If two
tasks were to access the UART at the same time you would get garbled output.

michaeln32 wrote on Tuesday, August 22, 2017:


Thank You !