Определить к какой шине относится регистр можно по его адресу, в
2.2.2 Memory map and register boundary addresses. Часть периферии
сидит на шинах AHB1/AHB2, на них возможен доступ к байтам и
полусловам. Другая часть подключена через AHB/APB bridges и там
доступ только 32-разрядными словами. Смотри Figure 1. System architecture и чуть ниже:
Note: When a 16- or 8-bit access is performed on an APB register, the access is transformed into
a 32-bit access: the bridge duplicates the 16- or 8-bit data to feed the 32-bit vector.
Относится это только к записи, потому что чтение всегда 32-битное, а уже процессор выбирает из прочитанного нужные ему байт или полуслово.
Но если писать на С просто и не выделываясь, то эту разницу можно очень долго не замечать :))