R Max писал(а): * | 2020-окт-31 22:09 |
1) при любом обращении через битовые поля значение размазывается по байтам, то есть пишется какой-либо бит, а он повторяется 4 раза,
Если это про то, что тут написано
https://github.com/StartMilandr/MDR_Pack_v6/wiki
то я не нашел способа объяснить компилятору, чтобы он STRB инструкции не использовал при записи в регистр (при выставлении битового поля)
С HSE наверное отсюда же ноги растут, посмотрите что в итоге оказывается в регистрах. Либо это Errata 2004 -
https://startmilandr.ru/doku.php/doc:mk:mkee:ask1
На отладочной поэтому приходилось после подачи питания дополнительно Reset подавать, если память не изменяет.
StartMilandr
GRAND MERCI!!!
Всё заработало, по 1) да в листинге LDRB/STRB - галочка enum is int помогает (раньше на это внимание не обращал, потому что всегда писал в битовые поля false/true (а они int походу) либо как в bitband);
по 2) фокус с кнопкой S5 (Reset) на отладочной плате работает

- действительно это errata 4.
P.S. Во вложении рабочий проект...поправил ещё логику работы с портами)...