Bitfields can use byte acces, which the bus doesn't permit. When that happens, the bus adds extra bytes to form a word, modifying fields that shouldn't be. Bitfields can be kept for debug and read, but writes must be done though masks