Спасибо. Ну, я научен dsPIC-ами. Там, где периферия медленнее, чем
шина, нужно ожидать сработки модуля, прежде чем продолжать
настройку. Доходило до смешного - заводил трабл тикет на модуль
UART - после записи байта на передачу, тут же выполняемая проверка
бита занятия буфера передачи давала результат "буфер свободен".
Периферия буквально на такт не успевала за шиной. Микрочип проверил
и отписался, что все нормально, просто шина слишком быстрая.
Вставляйте один NOP. Насчёт барьера DSB, по идее, пустое чтение регистра управления периферией, по сути, выполнит то же самое - дождется готовности медленной части для получения значения. Или я ошибаюсь?