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

Вопрос со звёздочкой по программным таймерам

15 минут назад, Arlleex сказал:

В Вашем случае, получается, не может быть >1 задач с одинаковыми приоритетами. У всех разные?

Да. Это иногда недостаток наверное. Но также - не встречал в практике прям насущной необходимости в равноприоритетных задачах.

Зато очень быстрое и простое управление задачами.

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


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

6 hours ago, tonyk_av said:

Так я писал о том, что задача таймера ОС имела значительно, в разы меньший приоритет поэтому очередь до её запуска доходила редко.

У меня вот такие приоритеты.

Таймерная задача - приоритет по умолчанию, ADCTask приоритет тоже по умолчанию для задач.

2024-06-0921_18_30-Serial(COM).png.413a053fb5df460aa1265257f1b00848.png

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


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

10 hours ago, Mty said:

У меня вот такие приоритеты.

Таймерная задача - приоритет по умолчанию, ADCTask приоритет тоже по умолчанию для задач.

2024-06-0921_18_30-Serial(COM).png.413a053fb5df460aa1265257f1b00848.png

Ё-моё! Я уже начинаю становится ярым противником Куба.
Откройте книжку по FreeRTOS и почитайте про приоритеты. Ну нельзя тупо, как баран на верёвочке, идти на заклание. У вас приоритет задачи таймеров чуть выше приоритета задачи, вызываемой при простое, поэтому она просто очень редко вызывается. Поставьте на ней точку останова, когда пойдёте на обед. Есть шанс, что вернувшись, ваша программа остановится на ней.

Вам реально нужно столько приоритетов, не менее 32?

Тупо задайте Tmr_Svc приоритет 24 и посмотрите результат.

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


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

1 hour ago, tonyk_av said:

Тупо задайте Tmr_Svc приоритет 24 и посмотрите результат.

Тупость - это не самое страшное. Может у него тупо

while(1)
{
   vTaskDelay(1000);
}


или ещё тупее

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


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

1 minute ago, x893 said:
while(1)
{
   vTaskDelay(1000);
}

Это как раз не страшно. ОС просто переключается на другие задачи.  У ТС просто таймерная задача не вызывается из-за мусорного приоритета. Я Кубом для кодогенерации не_пользуюсь, поэтому не знаю, чё-где надо у него покрутить, чтобы он правильно настроил приоритеты.

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


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

11 minutes ago, tonyk_av said:

Это как раз не страшно. ОС просто переключается на другие задачи.  У ТС просто таймерная задача не вызывается из-за мусорного приоритета. Я Кубом для кодогенерации не_пользуюсь, поэтому не знаю, чё-где надо у него покрутить, чтобы он правильно настроил приоритеты.

Тупо мышью потыкать надо.

image.png.585167f645684c77c5f1b24f14c16159.png

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


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

1 hour ago, x893 said:

Тупо мышью потыкать надо.

Не-не-не, это не то. Нужно задать приоритет системной задаче Tmr_svc.

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


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

Just now, tonyk_av said:

Не-не-не, это не то. Нужно задать приоритет системной задаче Tmr_svc.

Программисты разберутся.

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


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

Вроде ж давал ссылку на мануал по Free RTOS... А вот еще были раньше несколько статей на русском языке по FreeRTOS для микроконтроллеров, не помню автора, как-то Куриц или Курицын как-то так. Давнишние статейки, года 2010 наверно, но там даны основы, которые с тех пор и не поменялись

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


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

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

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

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

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

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

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

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

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

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