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

Проблемы с наладкой FreeRTOS


Кот с ружьём

Рекомендуемые сообщения

Сразу к делу! Установил и подключил FreeRTOS к Keil uVision. Для пробного запуска скопировал прогу из интернета, мигающая двумя светодиодами. Все сработало. Решил модифицировать программу: добавить третий светодиод. Прописал все точно также, как в примере, за исключением порта и названий. Ошибку при компиляции не выдают. Загружаю в МК, но ничего не работает. Добавил код, сигнализирующий об ошибке, прошил МК. Ничего не заработало, даже сигнала об ошибке не было. Какова может быть причина? 

P. S. - к проекту подключена SPL-библиотека.image.png.50d9075b1fcd3250679df51331d9b7ed.png

Изменено пользователем Кот с ружьём
Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

10 часов назад, snn_krs сказал:

Проверяйте при создании задач возвращаемое значение.

А как это делать?

10 часов назад, snn_krs сказал:

Похоже мало памяти для трех задач. Уменьшите значение configMINIMAL_STACK_SIZE

Сработало, спасибо!
 

Изменено пользователем Кот с ружьём
Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

13 hours ago, Кот с ружьём said:

А как это делать?

  if ( xTaskCreate( ... ) != pdTRUE ) {	ErrorBlink( 5 ); while( 1 ) {} }; 

Или чтото подобное.

2 hours ago, Кот с ружьём said:

чтобы таск запускался, допустим, каждые 2 миллисекунды?

В файле FreeRTOSConfig.h задается время запуска планировщика

#define configTICK_RATE_HZ            ( ( TickType_t ) 500 ) // каждые 2 мс.

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

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

8 часов назад, Кот с ружьём сказал:

А возможно ли сделать так, чтобы таск запускался, допустим, каждые 2 миллисекунды?

разные способы есть. Зависит от того насколько точно нужно запускать - по 2мс фрэйму или через 2 мс после завершения. Опять же и там и там есть разные способы реализации. Семафоры, сообщения, таймеры, задержки, функции диспетчера (слипы, айдлы). Выбор охрененный

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

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

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

Читать там очень желательно, а еще лучше читать и одновременно пробовать

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

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

24.08.2020 в 20:22, Кот с ружьём сказал:

Установил и подключил FreeRTOS

А какой смысл? Просто чтобы было? Что вообще планируется делать на ртосе? Неужели будет так много задач, что требуется иметь полноценный диспетчер задач и тратить уйму ресурсов МК на ртос?

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

А что мешает сделать ее самому? Один фиг это будет точно такая же псевдомногопоточность, как в ртос.

Понятно. Ты сам не знаешь, нафиг тебе ртос и в принципе не умеешь с STM32 работать. Или ты серьезно думаешь, что ртос даст тебе реальную многопточность на одноядерном и однопоточном МК? Так вот не даст. Код точно так же будет выполняться с разбивкой по времени, только медленнее, чем если писать самому. Ибо вызываться диспетчер задач будет с определенным дискретом времени. К примеру, пришел пакет данных, обработается он не раньше, чем через дискрет времени. Сколько там, 2мс ты хотел? Так вот за 2мс, при нормальном коде, уже успевает сформироваться ответный пакет данных + выполниться действия, заложенные в пакете. Ртос же только начнет смотреть,что же там пришло. И смысл?

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

если бы ртос была не полезна, ее бы не придумывали. Мне лично нравится писать под ось. Очень экономит время. А на счет ресурсов - очередные бредни фанатиков. Прерывания работают ровно с той же скоростью и мифические отклики на пакеты не менее резво. Все что делает ртос - как правило отвечает за обработку уже поступивших данных и интерфейс.

Нет нормального опыта работы и понимания смысла инструмента, так хоть не комментировал бы

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

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

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

8 минут назад, mail_robot сказал:

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

Скажи еще тоже самое про HAL и SPL. Придумывают, потому что могут, а не потому, что оно полезное.

 

9 минут назад, mail_robot сказал:

Очень экономит время.

Тебе все экономит время, при этом на всех форумах у тебя репутация говнокдера. Не находишь это странным? И что ты нам на ртос пишешь? Мигаешь диодами и щелкаешь релюхами? Так ртос для этого не нужен.

 

9 минут назад, mail_robot сказал:

на счет ресурсов - очередные бредни фанатиков.

Бредишь пока что только ты.

 

10 минут назад, mail_robot сказал:

мифические отклики на пакеты не менее резво.

А как прерывания относятся к отклику на пакеты?

 

11 минут назад, mail_robot сказал:

Все что делает ртос - как правило отвечает за обработку уже поступивших данных и интерфейс.

Ну и нах она нужна тогда, если ровно тоже самое можно делать и без нее?

 

12 минут назад, mail_robot сказал:

Нет нормального опыта работы и понимания смысла инструмента, так хоть не комментировал бы

В отличии от тебя - есть. Поэтому я прекрасно понимаю, что ртос нифиг не уперлась в STM32. Все, что она дает - псевдопараллельность с бестолково огромными тайм слотами. Выигрыш при этом нулевой.

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

@BARS_ Чего ты хейтеришь RTOS? Свое мнение о нем пиши в другом месте. Например в ВК. Что за проекты - говорить не буду

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

Только что, Кот с ружьём сказал:

Чего ты хейтеришь RTOS?

Чего, чего я делаю? По русски изъясняйся.

 

Только что, Кот с ружьём сказал:

Свое мнение о нем пиши в другом месте. Например в ВК.

Тебя спросить забыл, где мне писать. Скорее ты отсюда вылетишь и пойдешь плакаться в ВК.

 

Только что, Кот с ружьём сказал:

говорить не буду

Еще бы. Они 100% настолько днищенские, что для них не то что ртос, для них STM32 даже не нужен. Ибо с твоими знаниями ты ничего сложного написать не смог бы.

 

Я вообще не могу понять, чего ты ждешь от ртос. Максимум, что она даст - твои задачи будут выполняться в строгом соответствии с приоритетом, что и самому можно без проблем сделать. ВСЕ. Никакой многопоточности у тебя как не было, так и не будет. Не умеет этого МК, хоть какую ОС на него накати, многопточности НЕ будет. Будет разделение процессов по времени. А нужна реальная многопоточность - ставь ПЛИС.

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

Это правильно. Когда знания нулевые, лучше молчать. И ты явно не понимаешь разницу между полноценной ОС и ОС для МК. Так что учись писать нормальный код, тогда и ртос не понадобится.

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

Какой ты интересный человек. Значит ты будешь на этом бабки зарабатывать, а учиться хочешь бесплатно? Ну тогда я хочу чтобы мне в магазинах еду на халяву давали. О, и бензин тоже на заправках:crazy:

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

Фанатики такие фанатики )

54 минуты назад, BARS_ сказал:

на всех форумах у тебя репутация говнокдера

вот тут я тебя за язык то и поймал. Звиздунишко ты братец :bye:

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

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

21 минуту назад, BARS_ сказал:

Значит ты будешь на этом бабки зарабатывать, а учиться хочешь бесплатно

бери все и не отдавай ничего

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

Только что, mail_robot сказал:

фанатики

Если кто и фанатик, так ты. Сколько раз ты тут брызгал слюной, доказывая, что HAL и SPL манна небесная? Причем доводов в их пользу ровно ноль. Ты просто не можешь честно взять и сказать, что руки кривые и мозгов не хватает даташит прочесть. Ты эти любы используешь просто потому что. С ртос у тебя ровно такая же ситуация.

 

1 минуту назад, mail_robot сказал:

Звиздунишко ты братец

Серьезно? Прогуляемся по форумам? Можно начать с того же easyelectronics. Тебя там прям любят и совсем ссанными тапками не кидают:D Уже все давно увидели, что ты такое, мыша.

 

2 минуты назад, Кот с ружьём сказал:

бери все

Очень хреновый подход. 

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

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

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

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

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

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Сообщения

    • Все предложенные к рассмотрению источники питания работают примерно по одному принципу: сетевое напряжение выпрямляется, фильтруется (получаем чуть больше 300 вольт постоянного), затем преобразуется снова в переменное, но уже на частотах в несколько десятков килогерц, понижается на трансформаторе и снова выпрямляется. За счёт высокой частоты преобразования используется трансформатор на ферритовом, а не на стальном, сердечнике, гораздо меньших габаритов и стоимости. Минусы: значительное усложнение схемы блока и вероятность возникновения различных помех от него. Модули управления (кроме первого) также являются импульными преобразователями, с теми же достоинствами и недостатками. Если нужно по быстрому собрать некое подобие ЛБП, то уж лучше брать модуль вроде этого. Ну и блок питания к нему соответствующий. Но не очень понятно, какой практический опыт можно получить от соединения готовых модулей парой проводов.  
    • У меня больше всего вопросов вызвала необычная схема обеспечения отрицательного питания. Автор этой обстоятельной заметки пишет: For this supply to work correctly, the transformer must have a secondary voltage of at least 18V RMS.  Почему? Что будет не так с отрицательным питанием, если напряжение на трансформаторе будет меньше 18В?   https://tinyurl.com/23mlwxtt - я в простейшей эмуляции ставлю 12В пикового напряжения для трансформатора и на стабилитроне все как положено: -5.6В.
    • Согласен, очень криво объяснил. Это работа трёх вольтовой линии, просто на диод шотки сдвоенный, на один анод приходит сигнал напрямую с трансформатора, а на второй через дроссель. Вольт/деление 5 вольт в клетке, тайминг по моему 10 МС. Третья фотография это сигнал на катодах уровень земли ровно по центру экрана. Но все линии по итогу в порядке 3.3 в, 5, в, 12 в и -12 в. Нагрузить все линии не могу сразу ,так как тут же выгорают транзисторы (имеется нагрузка 250 ватт по 10 ампер на каждую линию за исключением-12в), поэтому нагружаю 3.3 вольтовую линию на 10 ампер,  подключаю переменный резистор 50 ватт на 15 ом на 5 вольтовую линию и постепенно довожу до той той картины с перекосом (это гдето  50 ватт общее). По поводу микросхемы, вверху имеется скрин где между импульсами проскакивает мини импульс, если так можно сказать, он проскакивает и на одной  и на второй ноге (7,8). Микросхема не tl 494, а lw4933/abx942.1/c9421646. Далее они приходят на базы транзисторов 945g  коллекторы этих транзисторов соединены с  выводами трансформатора. Просто схема типовая, легче мне кажется просто привести фото самого блока, для тех кто разбирается будет гораздо информативне.  Диод шотки по 12 вольтовой линии был подгоревший, заменил на донора. Приводить скрины не буду что бы не захламлять тему. В итоге, пока все так же, при достижении определенной нагрузки суммарно где-то 50 ватт, появляется этот "выброс и перекос". По этому имеются мысли на два варианта, это микросхема , этот мини импульс между периодами, на низкой нагрузке особо не влияет, но при достижении определенной приводит с самовозбуждению входной цепи и непроизвольному открытию транзистора нижнего плеча. Либо дело в "горячей части", плавающий дефект в обвязке силовых ключей.  Спасибо за ответ.
    • @Gomerchik а вы контролировали как меняется уровень сигнала на А1 ардуины?
    • Спасибо за совет. Автором данного проекта я не являюсь, мне нужно было воссоздать уличный датчик для метеостанции взамен пропавшего(( Из разного найденного в интернете этот проект работает с моей станцией Орегон (спасибо автору). В понедельник попробую последовать Вашему совету. Но все равно куча непоняток  как блин это работает)) Если дело в неправильной отправки команды, то как на это влияет подключение датчика температуры? Если совсем не подключать таймер, то передача идет один раз (как и прописано в программе), станция принимает и отображает, но минут через сколько-то естественно станция уже ни чего не показывает, но с таймером питание полностью не пропадает с ардуинки, но передача сигнала каким-то образом работает по таймеру.  В моем понимании данная команда подается один раз потому, что таймер должен отключать питание МК после передачи сигнала и каждые 43 сек снова подавать питание (так того требует станция).  Ардуино передает показания температуры отключается полностью и 43 секунды мк не работает.  Сейчас у меня питание пока сделано на подпитке от солнечной батареи, но пару пасмурных дней и аккумулятор съедается до отключения(
    • thickman Так и сделаю. Вытащу из бу БП.  Буду знать, как отличить. Благодарю. Заменил транзисторы на IRFB20N50K. Картина стала, совсем другой.  Похоже трудность не в драйвере, на момент подвозбуда, переходные процессы, в нем, завершены. Увеличил затворные резисторы до 50ом, стало немного лучше.  Не понятно, почему верхний ключ греется несколько сильнее. Возможно, стоит посмотреть ток в коллекторе.  Снабберные емкости временно удалил, изменений не произошло.  Замена ТГР на другой, на кольце MSTN-16A-TH, так же, результата не принесла.   irfb20n50k.pdf
×
×
  • Создать...