1) Небольшое исправление по поводу приоритетов прерываний, в лекциях было не совсем корректно сказано, что промежуток значений для приоритета варьируется от 0 до 192. На самом деле для хранения приоритета отводится 8 бит под каждую линию прерывания, то есть диапазон допустимых приоритетов это 0..255. Эффективно ядро обращает внимание только на старшие *2 разряда* в приоритете, то есть по факту прерывания имеют всего 4 различных приоритета: 0 - 0..63 1 - 64..127 2 - 128..191 3 - 192..255 2) Также отрицательная нумерация была введена для библиотеки CMSIS, поставляемой STMicroelectronics. Включение прерываний с отриц. номером не производится в NVIC, а в сист. регистрах ядра. Но приоритет выставляется в функции NVIC_SetPriority, которая обращается к регистрам NVIC, если прерывание периферийное, либо к SCB, если прерывание системное (т.е. если с отриц. номером).
@UU5JPP5 жыл бұрын
Edgar K. Эдгард посоветуй какую-то книгу для изучения STM32
@DS-ls7ck4 жыл бұрын
@@UU5JPP по стм 32 книг на русском я не нашел. Есть только на английском.
@DS-ls7ck4 жыл бұрын
@@UU5JPP kzbin.info/www/bejne/eHKohGudl851i6M тут о ядре книжки
@vitgo2 жыл бұрын
гм. разве не 4 старших бита отвечает за приоритет ?
@ДенисПрозор3 жыл бұрын
Спасибо огромное за материал!
@volervagashim5 жыл бұрын
Не рассмотренная ситуация: во время длительной обработки прерывания#1 дважды происходит прерывание#2 с меньшим приоритетом. Сколько раз в таком случае обработается второе прерывание? Правильно ли я понял, что для каждого прерывания хранится, по сути, что-то вроде флага его состояния (не был/был и ожидает обработки/исполняется/исполняется и ожидает обработки) и, в таком случае, обработается он только 1 раз? Если же во время обработки прерывания#2 оно произойдет ещё раз - оно обработается дважды
@EdosEdgar4 жыл бұрын
Да, если прерывание сработало дважды во время обработки другого, то обработка первого произойдет один раз. Если во время обработки прерывания произойдет ещё раз это же прерывание, то оно будет обработано повторно, про флаги вроде было сказано в NVIC контроллере.
@Жизньвчастномдоме-н7х5 жыл бұрын
А по векторам прерывания- вот есть их адрес, а дальше как происходит отсылка из этого адреса непосредственно в обработчик?
@EdosEdgar4 жыл бұрын
а в чём проблема? ядро записывает адрес в регистр PC и контроллер памяти уже выдаёт инструкции по новому адресу
@ИванИванов-й7и5э5 жыл бұрын
Не думали лекции на степик выложить?
@EdosEdgar4 жыл бұрын
пока нет, но придётся подстраиваться под формат, как мне кажется
@egorkrapovnitskiy9973 жыл бұрын
Эх, ребята, хотел в ваш универ на магистра поступить, но только зачем столько физики сдавать???
@Vlad_45724 жыл бұрын
Ха, парадокс: если человек поднимет трубку, то ему не смогут дозвониться))))
@DS-ls7ck4 жыл бұрын
Он надеется на то что звонок придет за наносекунду до поднятия трубки
@user-feddev11 күн бұрын
лектор неудачный - запинается путается. нет четкого изложения. в целом курс хорош для первоначального ознакомления но мучительно слушать