Перейти к содержанию
    

Скорость вызова функции обработки прерывания на Cortex M7

46 минут назад, ДЕЙЛ сказал:

Работать всё будет, но операционка будет тупить, если, например, таймер TIM1 будет генерировать прерывание 10000 раз в секунду или по I2C будем получать 50 кБ в секунду.

Не, это так не работает. Или "многозадачность" на прерываниях, или RTOS, одновременно эти подходы использовать точно не стоит. А какой лучше это от конкретной задачи зависит, универсального решения нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, ДЕЙЛ said:

Я не создавал. Здесь поднялся вопрос о нагромождении кода в обработчике прерывания. Считаю, что в любых прерываниях нужно находиться минимально возможное время. Забежал, флаг сбросил, пин выставил, байт прочитал и назад. 

Да там больше половины это метки времени для теста. Остальное макросы где регистры читаются и устанавливаются. Условно на четных циклах я устанавливаю один период, на нечетных - другой. Сброс флагов. И чтение буфера SPI.

Переменные компилятор сократит если упрусь в быстродействие.  С учетом того что код в кэше там накладные расходы несколько циклов от 500 МГц.

Ну сделаю я часть в цикле, но все равно гарантированное время нужно будет чтобы обработать все что надо, пропуски недопустимы, это выборка сигнала. Хоть в прерывании это будет, хоть в цикле - без разницы. При этом выборке я так могу задать максимальный приоритет и пусть другие подождут. А в цикле часики сработают на отрисовку в прерывании и хана выборке (в случае если мне нужна доп.обработка которую я в прерывание добавлю еще).

6 hours ago, ДЕЙЛ said:

Возможно, частота тактирования CPU относительно низкая

У cpu - 500 МГц. У таймера 75.

Изменено пользователем kochevkv

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...