С Новым Годом, господа эмбеддеры, кодеры и электронщики! Пусть ваши проекты и устройства работают так - как задумано! Творческих успехов, интересных и финансово-успешных проектов! 👋🙂 🍾🎆
@Liberhaim4 жыл бұрын
"...навык программирования этого ОВНА" - зачёт. Только печально, что наши конторы не слышат голоса пользователей своего продукта и не учитывают их
@johnkoffee4 жыл бұрын
Я тоже пользователь ОВЕНа. Сижу на плк160. Но я не знаю пробоем, кроме того что старая версия кодесиса дико неудобная. Расскажите поподробнее, пожалуйста, к каким замечаниям не прислушиваются производители? (Простое любопытство)
@Liberhaim4 жыл бұрын
@@johnkoffee Вот вы сами назвали одну из проблем это рисование нового интерфейса. Сберонлайн, сайт ржд овен и др программные продукты, котрые рисуют интерфейсы в корне которые по другому выглядят и их не интересуют, что пользователи в нем потеряются.
@awwsum4 жыл бұрын
А мне нравится ОВЕН. С ПРками проблем никогда не имел, ни в процессе программирования ни в эксплуатации.
@АлександрСпицын-х1я4 жыл бұрын
@@Liberhaim Как говорится смешались кони, люди... Т.е. и ембедед и сбер. Вы не из соседней страны пишите, что у нас тут все плохо и пропало :-) Сбер, пожалуй самое неплохое банковское приложение, Овен программируется в CoDeSys, которое используют многие производители ПЛК. При чем автор ролика просто мало знает про языки программирования МЭК 61131,т.к. те кто ими владеет написали бы, что им сложно программировать на С :-). Ну и если развить его идею со связыванием входов и выходов через функции с учётом желания пользователя, то он бы получил наноПЛК. Повозиться только чуть с FBD и верхним уровнем.
@SIM31r3 жыл бұрын
@@АлександрСпицын-х1я вообще интересно, есть ли приложения круче Сбербанка, остальные все намного слабее, даже ВТБ глючит на старом моем телефоне, Сбер работает на всём стабильно и быстро. Программисты очень хороши, им и платят за это.
@ИванСидоров-к9м4 жыл бұрын
Спасибо за видео, с наступившим Новым Годом всех! Здоровья всем, а остальное приложится.
@vernnms784 жыл бұрын
С Новым Годом! Удачи, новых прибыльных проектов и благодарных подписчиков!
@victorlowlevel80634 жыл бұрын
Очень познавательное видео! Спасибо за обзор, за знакомство с трудами других эмбеддеров, подводными камнями. У меня сейчас проект радиосвистков для баскетбола в работе. Рисую отладочную плату. Предполагается логгирование на USB флэшку, работа с радиомодулями HC-11/12, работа с HMI USART, W5500, Modbus RTU Master/Slave, W25Qxx и т. д. Проект на DevEbox F407, задействую все 6 UART-модуля контроллера, предполагаю тоже разруливать очередями.
@олегспирин-р4р4 жыл бұрын
А можно по подробнее, что это за свистки такие ? Очень интересно
@victorlowlevel80634 жыл бұрын
@@олегспирин-р4р У судей на поле во время игры некие гаджеты на поясе. Микрофон-петличка на воротнике. Когда он свистит - микрофон улавливает звук. Гаджет выделяет из него свист и останавливает игровые часы по радиоканалу посылая сигнал на базу. Ведётся лог при этом для дальнейшего анализа игры.
@victorlowlevel80634 жыл бұрын
Сохраняется на флешку. Аппарат принимает инфо о времени игры от судейской системы для лога. Запускает и останавливает игровые часы. Общается со сторонними системами по какому либо интерфейсу. Рисует лог на экране, замеряет уровень заряда батарей в гаджетах и прочее.
@ajdarseidzade6884 жыл бұрын
Очень и очень полезная информация в ролике. Спасибо. С Новым Годом, Вас! С всеми прошедшими и будущими праздниками!
@mykhailosafonov7464 жыл бұрын
Спасибо за интересное и познавательное видео. С новогодними праздниками.
@valkoder_ex3054 жыл бұрын
Большое спасибо. Вообщем частично сам дошёл до этих отладок в операционке. Но тем не менее очень хорошо что это озвучено для тех, кто ещё не потратил десятки часов. Осталось понять как отлаживаться, когда операционка зависает. Сам однозначно ещё решения не нашёл. Иногда помогают ассерты, иногда тупо светодиодами приходится отлаживаться. А по рабочему коду удобно отлаживаться отдельной задачей с отправкой через уарт по дма. В отдельном файле создаю функцию дебаг_инит, в ней создаётся задача очередь и семафор. В параметрах функции указатель на структуру настроенного дма. Дадее простые функции заполнения очереди по типу дебаг_принт_стринг, дебаг_принт_инт,.... _буффер и т. д. Ну и функцию колбека для прерывания от тх_дма, которую прописываю в майне. В ней проверяю соответствие структуры дма и скидываю семафр. Всем удачи.
@dazzershell3 жыл бұрын
Узнал про "access breakpoint" давно, но использовал его по делу буквально позавчера, нашел жука в старом "проверенном" коде. Ошибка в адресации к памяти.
@andrejliutsko38584 жыл бұрын
С новым Годом! За наводку на библиотеку спасибо. У меня самолично переписанная библиотека (SMS + GPRS + MQTT), и хоть и представлял, как все это запустить на машине состояний, но с FreeRTOS увязка с управлением в реальном времени делается на порядок проще.
@raven88674 жыл бұрын
С НГ ! Хороший канал , приятно смотреть !
@denwerxampp40354 жыл бұрын
Посмотрел с большим интересом. Спасибо за контент.
@asajook89994 жыл бұрын
С прошедшим вас новым годом! Творческих успехов!
@vernnms784 жыл бұрын
Приятно и познавательно смотрится.
@BB-ti9bf4 жыл бұрын
2:19 тонко и в точку. Особенно поглумился показывая цены на овно и говоря что это совсем недорого 😁
@valkoder_ex3054 жыл бұрын
А что с ценами не так? Сколько времени, будучи электронщиком и программистом, вам потребуется чтобы сделать аналог, да ещё отладить и софт и аппаратную часть, разработать корпус? Хорошо, если вы поставите это соседу чтобы хоть как то отбить временные и финансовые затраты. Но стоит оно того ради единичного устройства? А с соседом так и вообщем беда, по закону подлости сломается именно тогда, когда вы с женой поедете на долгожданные запланированные выходные, оставив детей, в мини медовый месяц, а тут вам сосед звонит, караул, мол твоя система не работает, дом сейчас замёрзнет, трубы полопаются, приезжай.
@BB-ti9bf4 жыл бұрын
@@valkoder_ex305 с ценами не так то, что это крупносерийные изделия и вскрывая тех же овнов - понятно что в серии их цена стремится к 0, там нет специальных дорогиз мс от burr brown и прочего дорогого и навороченного, а они простенькие плк продают по цене "от" 15 всю автоматизацию решаю узко заточенными изделиями на мк, обычно от плк берется только какая-то небольшая доля его возможностей. Если не горит пожар и никто не тонет, то на мой взгляд - кастом вне конкуренции, но могу ошибаться. А по практике мои изделия сотнями работают по стране, ни одного программного глюка так и не было, потому что они заточены под задачу, крутится необходимый минимум, а не воюют между собой глюки килотонн закрытых библиотек и избыточного кода.
@valkoder_ex3054 жыл бұрын
@@BB-ti9bf ну у овена и софт и маркетинг и поддержка и концепция, это все по определению не делается одним человеком. а где есть коллектив, там есть и смежные затраты. А по надежности так на то есть стандарты и сертификаты и насколько я знаю какой то у них есть. В космос конечно его никто отправлять не будет, он другую задачу решает. а по поводу закрытых библиотек, ничего сказать не могу, какие используют их разработчики не в курсе.
@BB-ti9bf4 жыл бұрын
@@valkoder_ex305 посмотрите хотя бы на панели оператора и сравните с китайскими, всякие другие изделия, типа поплавковых датчиков - тупо переупакованный, даже не перемаркированный алиэкспресс, а цена сразу кратно возрастает. Я был бы рад перепаковывать китай и продавать раз в 5-6 дороже, рассказывая лапшу про накладные расходы. Вот вам и маркетинг и концепция 😁 И еще лирика вдогонку - как-то давно мой босс тогда ездил на конференцию Hewlett Packard и задал вопрос а че это у вас расходка такая дорогая, прям ПЦ дорогая, на что получил ответ что они сильно вкладываются в новые технологии и совершенствование их производства. Осмотр, разборка и эксплуатация расходки показали что в реале дико дорогие и новые технологии это перемещение направляющих на картриджах чтобы предыдущее поколение не влезало в принтеры вместо новых, раза в 3 дороже 🤣. Все остальное, вплоть до меток пресс форм - полностью такое же. Спиливаем упор и картридж за 1200 р (тогда) влезал вместо картриджа за 3600 и прекрасно работал. Отака %уйня, малята.
@dazzershell3 жыл бұрын
@@BB-ti9bf Коллега мучается с ХулиПакардом, уже 3 принтер домой покупает. Из магазина в нем краски на донышке, картридж новый сразу покупать. Новые картриджи сейчас чипами защищены, просто тупо залить краску нельзя. Печатаешь 1000 страниц и все, хоть пустых белых, там счетчик, который сбросить тоже нельзя. Раньше их как-то ломали, сейчас хер. Он купил китайский чип, типа ломаный, перепаял - ошибка. Самый зашквар это Кэннон, по слухам при попытке поставить что-то чужое или как-то хакнуть весь принтер становится кирпичом. Скоро старые принтеры на аукционах начнут продавать.
@Liberhaim4 жыл бұрын
С новым годом! Надеюсь у вас появится желание рассказать нам о тонкостях в разработки устройств при использовании FREERtos. Для меня это важно, т.к. я разрабатываю устройство
@ГеннадийГром-в8ю4 жыл бұрын
на 02:15 "надо обладать какими-то навыками программирования этого ОвнА!" - это колоссально! С НГ-21! 👍😁🤪
@zzerocks4 жыл бұрын
Если не нужно в программе динамическое создание/удаление сущностей FREErtos (задачи, очереди, таймеры и т.п.) используйте их статическое создание. При этом вы сами выделяете буферы под нужды этих сущностей и уже на этапе компиляции вы точно знаете, что ОС памяти больше не пожрёт.
@Avtovet4 жыл бұрын
Спасибо за информацию!
@DmitryTan4 жыл бұрын
Отлично!
@fokin914 жыл бұрын
Спасибо за видео! еще хотелось бы видео на тему энергопотребления на freeRTOS. На русском языке что то не особо много информации на эту тему.
@Proektirovshik4 жыл бұрын
Интересно ОВЕН звучит в ваших устах. Но сглашусь, так как раньше юзал плк или скорее плк юзали меня...
@ИгорьПрокофьев-з5б3 жыл бұрын
Лично я начинал программирование в среде "ОВЕН ЛОДЖИК" на программируемых реле. И всем даю совет: начинайте с ПР200. Очень легкая программа по весу, а по функциональным возможностям она может практически все. Так что покупайте программируемые реле ОВЕН Автоматика" и получайте удовольствие.
@МихаилТиунов-с7д4 жыл бұрын
С Новым Годом, Владимир!!! Огромное спасибо за ролик - прямо яичко к христову дню!!! Вопрос: Пакеты ответов от модема идут сплошными пакетами или могут быть перерывы ? Принимаю через DMA по прерыванию IDLE.
@VladimirMedintsev4 жыл бұрын
Ответы модем всегда передает сплошным потоком.
@МихаилТиунов-с7д4 жыл бұрын
@@VladimirMedintsev Еще вопрос.Извините что не задал сразу. А 2 пакета не могут "склеиться" ? Всегда ли между ними есть задержка больше времени передачи одного байта?
@VladimirMedintsev4 жыл бұрын
Нет не могут.
@МихаилТиунов-с7д4 жыл бұрын
@@VladimirMedintsev Спасибо за ответы. Но из них вытекает следующий вопрос - а зачем тогда принимать по 1му байту? Можно заказать DMA заведомо большую длинну для приема и включить прерывание IDLE порта. Как IDLE сработает - DMA останавливаем, снимаем флаг IDLE, данные в очередь, перезапускаем DMA. Или какие-то проблемы могут быть при таком варианте?
@VladimirMedintsev4 жыл бұрын
Это диалог. Мы что-то говорим модулю, он отвечает. Бывает что и он нам может что-либо написать, к примеру сообщить о звонке. В этом случае и dma и irq использовать можно, но все равно желательно анализировать возвращенную модулем информацию.
@alexanderkalashnikov20674 жыл бұрын
Интересно.
@КинобийОбиван4 жыл бұрын
Ребята, может кто подскажет, где можно посмотреть подобный проект только без СМС оповещения, а с непоср. с HTTP-запросами (post, get) на сервер. Хочется ещё и простенький мониторинг организовать у себя с push уведомлениями на телефон.
@sozdatelEd4 жыл бұрын
там нет ничего сложного. регистрируемся указав APN, USER и PASS и несколькими командами отправляем POST и GET запросы. Если СИМ-карта от провайдера уже предназначена для умных устройств, то можно и не указывать APN, USER и PASS, а сразу подключаться к интернету командой AT+SAPBR=1,1 а подсмотреть можно вот тут: sampawno.ru/viewtopic.php?f=116&t=13159 Вообще много статей по этому поводу есть. Можно в документации к GSM-модулю почитать про HTTP запросы. Обычно производители прям в документации приводят примеры запросов/ответов.
@sailtogether32362 жыл бұрын
А я при инициализации заполняю всё между heap и stack шаблоном, и периодически проверяю потом, сколько памяти ещё содержит шаблон. Т.о., мониторю не только текущий "вылет", но и был ли он между проверками. Хотя, если пересечение было, но не было перезаписи содержимого, то, увы, не покажет. Наверно, банальщину рассказываю?
@yuriyborys80464 жыл бұрын
А что у вашего GSM модуля нет выхода сообщающего о звонке или СМС. Недавно работал с SIM808, там есть ножка называется RI - ring interrupt, прижимается к земле на весь период входящего звонка (вызова), или дает пульс, если СМС пришел. Удобненько.
@VladimirMedintsev4 жыл бұрын
Да в принципе мало кто эту ножку использует. Гораздо удобнее написать хороший процессинг и полноценно работать в символьном виде.
@yuriyborys80464 жыл бұрын
@@VladimirMedintsev Еще так, для информации. Насчет функции отсутствия сим карточки. На некоторых холдерах для карты (не всех) есть ножка CP - card present. Может понадобиться когда-нибудь.
@VladimirMedintsev4 жыл бұрын
Спасибо, я знаю, об этом написано в даташите на некоторые модули. Также я знаю как подключать 2 сим к одному модулю.
@VladimirMedintsev4 жыл бұрын
Я искренне благодарен, просто так получилось что в свое время с модулями не плохо разобрался по ним даже есть несколько видео на канале.
@yuriyborys80464 жыл бұрын
@@VladimirMedintsev Спасибо вам за ваши видео. Может вам будет интересен этот модуль - ai-thinker-open.github.io/GPRS_C_SDK_DOC/en/hardware/a9g.html Еще документация - docs.ai-thinker.com/en/gprs/a9g . В чем прикол - он с GPS и что ему можно писать свою прошивку и использовать standalone . Правда СДК для ГНУ только.
@АлексейШутко3 жыл бұрын
Делал подобную штуку... Намучился поначалу достаточно. Самое весёлое что sms запроса баланса, выполняемое перенаправлением запроса с телефона клиента и отправдение ответа обратно клиенту отстраивать приходится вживую и результат подчас неизвестен.
@felixtsipis4 жыл бұрын
Всех с Новым Годом! Спасибо за видео. Очень хорошое объяснение. Если не секрет, сколЬко у Вас ушло времени на создание первой рабочей версии кода для этого проекта?
@VladimirMedintsev4 жыл бұрын
Первый вариант прошивки был создан часов за 50-60. Много времени на то чтобы осмыслить структуру и написание работы с gsm модулем. Команды писались очень быстро. Там же регулярные выражения. Ну и руководство по эксплуатации и документация долго.
@t966rt4 жыл бұрын
@@VladimirMedintsev с НГ! а что используете для регулярных выражений?
@VladimirMedintsev4 жыл бұрын
@@t966rt библиотеку SLRE
@t966rt4 жыл бұрын
@@VladimirMedintsev спасибо
@serggorod1423 Жыл бұрын
Странно лайка нет на этом 100 500 раз смотренном видео!
@serggorod1423 Жыл бұрын
Просматриваю все Рт ОС
@slavaglow69334 жыл бұрын
Интересно и познавательно. Спасибо. А из каких соображений выбирается начальный адрес FLASH_CONFIG_START_ADR что-бы не попасть на программный код?
@VladimirMedintsev4 жыл бұрын
Конечно
@simwhite91874 жыл бұрын
а как определять и задавать адреса?
@andrejliutsko38584 жыл бұрын
@@simwhite9187 В настройках линковщика.
@robo_omsk4 жыл бұрын
Здравствуйте, Владимир! Хотел бы у Вас поучиться реализации проверки дребезга контактов. Не могли бы Вы более подробно объяснить как это работает?
@VladimirMedintsev4 жыл бұрын
Все очень просто. Это переменная 8 бит. Каждый раз при проверке состояния входа мы устанавливаем младший бит в 1 если на входе логический 1 и в 0 если 0. Затем делаем сдвиг влево. Проверяем если там 0хFF значит уверенно сработали Если меньше то не сработали.
@robo_omsk4 жыл бұрын
@@VladimirMedintsev интересно, первый раз вижу такой способ, мне надо проникнуться попробовать. Спасибо за помощь!
@robo_omsk4 жыл бұрын
@@VladimirMedintsev а такой способ можно применять в прерываниях?
@DirectionToTheTop4 жыл бұрын
Хотелось бы видеть название среды разроботки в названии ролика.
@VladimirMedintsev4 жыл бұрын
А зачем выносить название среды разработки в название, если ролик совершенно о другом?
@androidpasha3 жыл бұрын
Я не понял чем ОС+библиотеки отличаются от ардуино, о котором вы говорили что там может быть куча ошибок в библиотеках.
@МихаилТиунов-с7д4 жыл бұрын
Ещё один вопрос, с вашего позволения. Получил список SMS командой AT+CMGL="ALL". Пытаюсь прочитать SMS командой AT+CMGR=1. Получаю ту же строку что и при чтении списка, для SMS с индексом 1. В ней есть индекс, номер телефона, дата, время. Текста SMS нет. Что-то я никак не догоню как получить текст. Может какие-то настройки перед этим сменить? не подскажете? Получаю такую строку AT+CMGR=1 +CMGR: "REC READ","+79859910884","","2021/01/06 04:49:12+1
@VladimirMedintsev4 жыл бұрын
Необходимо установить режим - текст. Ну а вообще вам необходимо найти на свой gsm модуль руководство по АТ командам, там подробно все описано.
@МихаилТиунов-с7д4 жыл бұрын
@@VladimirMedintsev Руководство, понятно, читаю. И режим текст установил AT+CMGF=1 AT+CMGF=1 OK или его надо непосредственно перед каждым запросом устанавливать ?
@VladimirMedintsev4 жыл бұрын
Нет и одного раза хватит.
@МихаилТиунов-с7д4 жыл бұрын
@@VladimirMedintsev Помогите, а я донатиков кину. Модем M66 (по вашей рекомендации)
@МихаилТиунов-с7д4 жыл бұрын
@@VladimirMedintsev Ну да. Иначе на AT+CMGL="ALL" пришел бы ERROR
@vladzoz63014 жыл бұрын
Если был опыт работы с EmWin, будьте любезны рассказать о ней, о подводных камнях.
@VladimirMedintsev4 жыл бұрын
Буду краток. Она работает. Если с ней будет проект, то покажу.
@vladzoz63014 жыл бұрын
@@VladimirMedintsev Это понятно, работает и у меня, после танцев у костра. Интересует переключение между окнами, только Ltd или с fmc тоже работает и как. Не происходит отрисовка на переключенное окно, но кнопки, слайдеры, работают, но их не видно, так как остаётся отрисованное ранее..
@StahLHerZRocK Жыл бұрын
а как поведет себя ваше устройство если отключится питание во время обновления конфига в NVM ?
@VladimirMedintsev Жыл бұрын
В реальной версии считает прошлый релиз конфига. Показан упрощенный подход.
@user-ww1iw4bi8k4 жыл бұрын
Вы плохо искали, есть готовые устройства ccu825 например, российской разработки
@VladimirMedintsev4 жыл бұрын
В каком смысле плохо искали? Я и не должен искать что-либо. Есть заказчик есть производство. А то, что какой-то коллектив делает нечто подобное, ну это же просто замечательно. Могу только пожелать им хороших заказчиков в новом году. Но по какой-то причине заказчик пришел к нам а не к ребятам из Тулы.
@didim994 жыл бұрын
13:13 обратил внимание, что автор распространяет библиотеку по лицензии GPL v3. Возник вопрос об отношении вашей команды разработчиков к данному вопросу. Ведь GPL (не Lesser GPL, а обычная) требует, чтобы софт, использующий GPL-код в своём составе, также распространялся по лицензии GPL. Также данная лицензия предусматривает, что в случае распространения ПО в виде бинарных файлов, встроенных в физическое устройство, любой владелец данного устройства имеет право затребовать предоставления исходников. Всё это не очень вяжется с коммерческими разработками.
@VladimirMedintsev4 жыл бұрын
А в чем собственно сложность? Каждый покупатель устройства может у нас получить полный комплект исходных кодов прошивки контроллера. В этом нет абсолютно никакого секрета.
@didim994 жыл бұрын
@@VladimirMedintsev вон оно как, в таком случае вопросов нет. :)
@МихаилТиунов-с7д4 жыл бұрын
@@VladimirMedintsev Я извиняюсь, а устройство дорогое ?
@VladimirMedintsev4 жыл бұрын
@@МихаилТиунов-с7д Не готов ответить.
@awwsum4 жыл бұрын
Вот бы такой же девайс только чтоб общался по GPRS (mqtt сейчас в моде) и какой-нибудь простецкий интерпретатор для обработки логики. Такая штука много где бы пригодилась.
@YuriyLogvin4 жыл бұрын
Все проекты на С? С++ не используете? Если не используете - то по каким причинам?
@VladimirMedintsev4 жыл бұрын
Причина крайне проста, у каждого языка свое предназначение. Свои сильные и слабые стороны. Я лично не вижу где в микроконтроллерах есть потребность в языке C++. Нет, ну откровенно говоря есть пара библиотек на c++ но это скорее экзотика. Более того, если вы посмотрите на всех производителей микроконтроллеров, то обнаружите что никто не использует c++ на низком уровне.
@YuriyLogvin4 жыл бұрын
@@VladimirMedintsev Производители не используют по простой причине - им нужно обеспечить соместимость с "С". Зачем им лишняя работа? У меня в сопровождении несколько проектов на микроконтроллерах, не мной зачатых на на С. Постоянно добавляются какие то "фишки". И сейчас их сопровождать - это Ад. С++ дает структуризацию. Понятно что употреблять С++ нужно с оглядками. Я для мелких проектов использую С. Для всех остальных - С++. Hal::LedRed(true) выглядит лучше чем led_red(TRUE) :)
@VladimirMedintsev4 жыл бұрын
Не проблема, вы как разработчик можете использовать хоть Питон, хоть JavaScript. Но для того, чтобы удобно было писать и не пропадала лёгкость восприятия кода обычно создают BSP и дальше уже с его использованием. А что касается производителей и "зачем им лишняя работа" тут если следовать этой логике им вообще тогда писать бы на Basic, но нет они пишут на Си, потому что 99% кода для микроконтроллеров написано на Си.
@YuriyLogvin4 жыл бұрын
@@VladimirMedintsev BSP(HAL) - это само собой. Но ведь есть и логические подсистемы, которые взаимодействуют между собой... Например, у Вас 5 разных платежных терминалов - имеете несколько switch-case(или еще один уровень абстракции), которые прозрачности коду не добавляют. Я знаю "перца" который до сих пор на ассемблере все пишет и ничо... По поводу Basic - пример не удачный. Для МК стандарт - "С", который великолепно компилируется в С++ проектах. И зачем производителю "специфическая С++" библиотека вместо "универсальной С" библиотеки?
@VladimirMedintsev4 жыл бұрын
Юрий, я не планирую с вами спорить. Вы задали вопрос, я на него развернуто ответил. Если вам, как разработчику удобен С++ то это замечательно. Значит вы сделали правильный выбор и все хорошо. Я не вижу тут каких-то противоречий.
@МихаилТиунов-с7д4 жыл бұрын
Тоже налетел на проблему длинны данных в очереди. У меня получилось сделать буфер в 64 байта всего и при этом очередь только из 2х элементов. Ставлю 4 элемента - вешается. Это мало. М66 на запрос ATI возвращает 59 байт. Как быть? У Вас решения не нашлось?
@VladimirMedintsev4 жыл бұрын
Необходимо увеличивать размер памяти доступный для операционной системы. В ее настройках.
@МихаилТиунов-с7д4 жыл бұрын
@@VladimirMedintsev Спасибо!!!
@МихаилТиунов-с7д4 жыл бұрын
@@VladimirMedintsev Сегодня позанимался этой проблемой. Нашел вот какое решение - если настроить в очереди в CubeMX ( а до этого я их создавал руками) - всё прекрасно работает. Размер памяти операционной системы (если я правильно понял - TOTAL_HEAP_SIZE) не изменился, т.е, как был до добавления очередей 3072 так и остался. Как-то странно и непонятно.
@МихаилТиунов-с7д3 жыл бұрын
@@sergsapov2927 Чтобы потом, в другой задаче, его из очереди забрать
@МихаилТиунов-с7д3 жыл бұрын
@@sergsapov2927 Дело в том, что у модема есть незапрашиваемые сообщения. Например - при получении SMS он передает сообщение +CMTI:... У меня еще сложнее - модем подключается к серверу по UDP или TCP протоколу и в любой момент может прилететь запрос от сервера. Поэтому я не могу, послав запрос, ждать ответа именно на этот запрос. Я посылаю запросы, а полученные ответы кладу в очередь, достаю их из очереди, обрабатываю и формирую новые запросы.Если надо дождаться какого-то ответа - не формирую новый запрос, пока ответ не придет. Как-то так.
@StahLHerZRocK Жыл бұрын
А если бы входов было еще больше, то было бы еще больше однотипных if else ?))
@serggorod1423 Жыл бұрын
20:00 больше , для начинающих !
@НиколайПр-з3в4 жыл бұрын
Делал ПО для магазина, которое отсылало своим клиентам СМС - было большое кол-во жалоб о неполучении СМС. Проделал следующее: 8 марта в течение для ПО отослало на мой номер 100 СМС - результат удручающий - 5 СМС вообще не пришло в течении 3-х дней, 2 СМС пришли через 2 дня, 4 СМС пришли на следующий день и 20 СМС пришли более чем через 2 часа. ПО слало СМС через мобильный телефон и в телефоне все 100 были как отправлены, начали разбираться с оператором сотовой связи и то о чем он нам поведал повергло в шок - они не гарантируют доставку СМС даже если сняли за его у вас деньги, более того они и не гарантируют срок, в течении которого СМС будет доставлено. Это Беларусь, оператор MTC, а неужели в России иначе? Читал в инете - что грабанули квартиру, вывезли всю мебель - хозяин как только получил СМС от сигнализации сразу выехал домой но грабителей уже не застал, соседи сказали что вывозили мебель несколько часов.
@VladimirMedintsev4 жыл бұрын
Много загадочных вещей происходит в Белоруссии. В принципе у нас СМС работают достаточно стабильно. Доставка до 3х минут это максимум.
@НиколайПр-з3в3 жыл бұрын
@@sergsapov2927 - WebMoney так и делают - там звонок даже в другую страну при попытке входа в их кабинет. Так что в России видать с СМС тоже не все гладко.
@NuWhite4 жыл бұрын
А сколько FreeRTOS памяти жрет по умолчанию? На каких платформах имеет смысл использовать эту операционную систему, а не писать все функции проекта самостоятельно?
@YuriyIY4 жыл бұрын
Чет у меня еще мысль созрела. Если в программе много булевых переменных, можно ли их запихнуть в битовое поле? К примеру, так 8 булевых переменных можно впихнуть в один байт. Ведь они занимают 8х8 байт. Понятно, что ресурсов много. Но это же не комп, ресурсы не бесконечны.
@VladimirMedintsev4 жыл бұрын
А вот как по мне, компиляторы сейчас умные, пусть у них голова и болит. Ну просто я понимаю немного оптимизировать код, но не до такой же степени.
@YuriyIY4 жыл бұрын
@@VladimirMedintsev Логично. Голова у них железная, пусть и гудит. Согласен. Потому, пока и забил.
@YuriyIY4 жыл бұрын
@@privateperson1468 Особенно, если учесть, что элементарные операции выполняются в разы быстрее. А битовые как раз и есть они самые. :-)
@YuriyIY4 жыл бұрын
@@privateperson1468 А 32 битные значения не используют память?
@АлександрСпицын-х1я4 жыл бұрын
std::bitset в помощь
@rustybroom70713 жыл бұрын
Вообще, довольно странно. Неужели, ОС сама не может следить за количеством выделяемой памяти?
@VladimirMedintsev3 жыл бұрын
Не может, ведь вы память можете явно и не выделать, а просто использовать. Как ОС об этом узнает?
@rustybroom70713 жыл бұрын
@@VladimirMedintsev Из дескриптора задачи, вестимо. Хотя...в таких маленьких процах сделать нормальный менеджмент памяти трудно, конечно. ММУ-то нету.
@VladimirMedintsev3 жыл бұрын
Не вся же памятт используется именно задачами и внутри задач. Есть же DMA, есть обработчики прерываний. Так, что излишний контроль памяти привел бы только к излишнему усложнению как ОС, так и всего окружения.
@VladimirMedintsev3 жыл бұрын
На самом деле нет какой-то насущной проблемы. У freertos есть средство информирования о том, сколько свободной кучи и стека у вас осталось из выделенного под ОС. Остальное тоже посчитать не сложно. Это просто не всегда очевидно для тех кто пришел из мира больших компьютеров. По факту это проблема только для них.
@rustybroom70713 жыл бұрын
@@VladimirMedintsev Это да, но использовать динамическое выделение памяти в прерываниях могут только племянники Билла Хейса. Нормальным людям оно ни к чему.
@ibrag20124 жыл бұрын
Замислився: за великим рахунком потрібен менеджер пам'яті, але за ним піде своп (таке інше). Як досвідчений програміст стек відчуваю дупою, але що робити іншим? Може: якщо пристрій повільний, використовувати флешку чи диск?
@DirectionToTheTop4 жыл бұрын
Недавно автор расхваливал бесплатный CubeIDE, а примеры приводит в платном Keil.
@VladimirMedintsev4 жыл бұрын
В чем связь? Если я что-то похвалил, то теперь должен только это и использовать?
@user-cp123pc5tk8d3 жыл бұрын
2:18 - "Тебе надо обладать навыками программирования этого Говна" ))))))
@CrazyPit4 жыл бұрын
а я подсел на ESP Easy. удобно добротно хорошо. бесплатно
@YuriyIY4 жыл бұрын
Терзают меня смутные подозрения, что в FreeRTOS борьбу с дребезгом можно организовать дешевле. К примеру, создать задачу с osDelay(100). И там отслеживать состояние входов. Выполнение задачи 10 раз в секунду гарантированно отсеет дребезг. Возможно, я не прав. Но я так делал. Работает.
@VladimirMedintsev4 жыл бұрын
Можно, конечно, разные способы применимы.
@proggarage4 жыл бұрын
При таком подходе, в ситуации когда в момент считывания происходит дребезг (или прилетает помеха), может возникнуть ложное срабатывание, либо задержка реакции на 100 мс, либо пропуск сигнала если его длительность менее 100 мс + время выполнения задач с более высоким приоритетом + время чтения. В некоторых случаях это не критично, но забывать об этом не стоит. Да, вероятность небольшая, но когда нужно сделать что-то более сложное чем моргание светодиодом, любая мелочь перерастает в проблему на удивление быстро.
@YuriyIY4 жыл бұрын
@@proggarage В этом ничего страшного нет. Именно для данного девайса. Время работы задачи сравнимо с временем срабатывания реле. Большинство клавиатур компьютерных (да и не только) так и работают. Сканируют всё поле раз 20 в секунду. Всё равно, самый тормоз тут, это человек. Пусть даже идеальная реакция будет, ну это 0.3 секунды. А это 300! мс. За это время можно раз 10 проверить клавишу на дребезг.
@oskinru4 жыл бұрын
В FreeRTOS есть встроенные средства сбора статистики и диагностики. Почти всё настраивается через CubeMX, но для эффективного использования документацию по FreeRTOS придётся почитать. Про Keil не знаю - не пользую, а для CubeIDE/Eclipse есть удобный плагин для работы с этими данными: mcuoneclipse.com/2017/03/18/better-freertos-debugging-in-eclipse/ Ещё больше полезностей можно получить при использовании отладчика SEGGER J-Link, кстати для ST-Link есть прошивка, делающая из него J-Link.
@VladimirMedintsev4 жыл бұрын
Абсолютно верно, но только не из любого STLink можно сделать Jlink. Проще купить готовый.
@oskinru4 жыл бұрын
Только аккуратнее с готовыми - оригинальный стоит от €300, а клоны довольно часто бывают неполноценными до полной неработоспособности по назначению, сам попадал - из 4-х экземпляров с алиэкспрес 2 неправильные, внешне не отличаются, а схема совсем другая и видится только каким-то своим драйвером с очень урезанным функционалом, в Linux не работает совсем.
@VladimirMedintsev4 жыл бұрын
@@oskinru ну не знаю, у меня клон и я им в принципе доволен. И куплен этот клон на АлиЭкспресс но у проверенного продавца. Все работает все довольны.
@ДимаДима-к1н4 жыл бұрын
Пересмотрел компоновку...2018г ... вместе с этим видео зашло! kzbin.info/www/bejne/pHfZoHR_aJmUeKs ...Я НАЧИНАЮЩИЙ.... чё кричишь!!! 3:03 По делу! Введение. 5:15 Примеры ATкода...GSM ПОСТАНОВКА проблематики. 7:26 Структурирование задачи. 11:56 Примеры кода. 13:10 Обзор библиотеки. Источник 17:08 Объяснение кода. 25:25 Пред упреждение граблей. НАДЕЮСЬ НА ПОДРОБНОЕ ПРОДОЛЖЕНИЕ!...
@ДимаДима-к1н4 жыл бұрын
НАДЕЮСЬ НА ПОДРОБНОЕ ПРОДОЛЖЕНИЕ!... 8 лет учу стм... (подписал чужой проект 1н заработал(2016г))... то среда изменится...то код на с++, или нет дефайнов,... то код c/на не транспортируется,... то кубИДЕ(с детскими проблемами Эклипса) не работает программатор. Keill + Source Insight 3.5 + STM32 ST-LINK Utility = самые лучшие друзья! Читаю много статей и пытаюсь применить... но мало что получается, ... по тому что-б сделать что-то, нужно сделать многое за кадром..и начинаешь тонуть во вкладках.... на сегодня в опере 208 в хроме 54...во всех других(2х) настроен сессионный сброс(для поиска справки/подсказки). Накопал проект на Гите...который сразу работал...с нужным мне процессором 103.... определил его ка базовый!!! На основе (d:\ST\base) в папке бесе не низменно пробую пилить проекты(Время релиза 2-3 месяца (сам схемы платы за неделю)), пока все обрывки кода с интернета компасную. В качестве отладчика у меня в базовом проекте дисплей spi_320*400... на него вывожу магическую строку состояния.. Хорошо бы ПОЛУЧИТЬ БАЗОВЫЙ ПРОЕКТ ОС на кубиде, со всеми пред настроенными параметрами, если это возможно! Как вы сказали"начинающему начинать...в одиночку" Имею 1,5 диплома...асемблер для Pic(1год работы)... в техникуме асемблер51/avr... и всякое не нужное г*но типа школьного паскаля и бэйсика. В универе ....a=~a*b|| c.... Хотя после нас уже учили с99.и ++
@VladimirMedintsev4 жыл бұрын
@@ДимаДима-к1н я ничего не понял из написанного. Если вы реально чего-то хотите, большая просьба сформулируйте мысль четко.
@AndreyOnAir4 жыл бұрын
+10
@Insideus27864 жыл бұрын
Да, с этими буферАми так и есть...
@alekseibutyaev23182 жыл бұрын
Ко коду сразу видно С, С++ и мало ресурсов в системе .. не то что нынешнее племя .. JAVA,C#, и прочие язычки .. всё вали кулём .. потом разберём...
@ЛштшфумАщвф4 жыл бұрын
Вы, программисты, зажрались 15 тыщ для них небольшие деньги. Кто-то за меньшие деньги месяц карячится, чтобы вы могли сидеть и смотреть в свои телевизоры.
@VladimirMedintsev4 жыл бұрын
У вас какие-то проблемы? Это не программистам нужно, а люди себе в дома и на предприятия ставят. Вам программисты чем не угодили? Никто не мешает взять книжку, выучить язык и тоже сидеть смотреть в свой телевизор.
@ЛштшфумАщвф4 жыл бұрын
@@VladimirMedintsev против программистов ничего не имею. 15 тыщ это серьезные деньги.