- А какой софт использует многоуважаемый All для просмотра и анализа
логов различных форматов? - Ig_B(05.10.2022 11:50, dao, полностью)m16
- Еще тупой вопрос: можно ли софт от логических анализаторов
приспособить? - Ig_B(07.10.2022 16:32)
- sed awk grep find sort давно уже на win сделали в виде отдельных
ехе - cтpaтeг(07.10.2022 08:31,
)
- Программулина в Матлабе займёт строк 10. Гораздо удобней, чем
Эксель - Kpoк(07.10.2022 08:01)
- Powergraph. Там есть возможность принимать данные в ASCII формате
из компорта ( в том числе виртуального). Средства анализа просто
шикарны. К сожалению, таблетки нет, а без нее делает все, кроме
сохранения на диск, приходится графики в виде скиншотов сохранять. - Yurasvs(06.10.2022 23:10)
- Serial Oscilloscope IBAH(1 знак., 06.10.2022 16:49, youtube)
- Логов чего? Логи облачного хостинга одно, логи какого-то прибора
совсем другое. Evgeny_CD(135 знак., 06.10.2022 01:26, ссылка, ссылка)
- Пишу логи в CSV файл, но готов поменять формат если найду удобный
свободный/ломаный софт. Ig_B(233 знак., 06.10.2022 10:42)
- в особо тяжелых случаях делфя и TChart Nikolay801_(56 знак., 06.10.2022 14:16)
- а сам вьювер писал - на чём и в какой IDE ? - Mahagam(06.10.2022 12:13)
- Наш РС-программист логи пишет в XML, говорит, что парсить легче
стандартным бесплатным Microsoft Log Parser'ом --> MBedder(1 знак., 06.10.2022 12:04, ссылка)
- не совсем понятно, если тебе просто нужно построить тренды из
таблицы, то сейчас это весьма неплохо умеет свежий эксель. LordN(146 знак., 06.10.2022 11:32, картинка)
- Программа называется GAWK. Легко и просто бегает по текстовым
логам, вытаскивает оттуда всё, что угодно. - SciFi(06.10.2022 11:10)
- Не нашёл пост, к котормоу уместно было бы приложить. Хоят должны бы
быть. POV(1 знак., 29.09.2022 11:50, dao, картинка, полностью)
- Ещё уточнение: получается, можно мешать без проблем при передаче
линковщику объектники в одном проекте С и С++, если смогу среде
разработки объяснить, как из компилировать? - Dingo(06.10.2022 06:56)
- Тоже спрошу. Как оформляются обработчики прерываний? Поймал себя
недавно на том, что "и попробовал бы Цэ++, но не знаю, как делается
...". Это одна из базовых вещей. - Dingo(03.10.2022 06:53)
- Реализация очень сильно зависит от архитектуры и возможностей
контроллера прерываний. VVB(3555 знак., 06.10.2022 10:26)
- Просто вызываю из прерывания любую функцию любого класса. Зачем ещё
что-то выдумывать? - Ale3000(06.10.2022 08:34)
- Если бы разработчики С++ захотели, они бы, вероятно, легко сделали
это. Tyмблep(1006 знак., 03.10.2022 13:08)
- никак. Nikolay801_(733 знак., 03.10.2022 10:51)
- Не-не-не, что-то не то. Вот в plain C есть обработчик, функция void my_isr(void); - что в этом случае у плюсов? Класс? Функция? Может ли extern "C" void my_isr(void) {} внутри себя вызывать методы классов? Если буфер реализован
классом, как из обработчика положить в него данные? Как проверить
состояние пина, если порт-пин описан сущностями Ц++, через те же
темплейты, например? - Dingo(03.10.2022 09:57)
- Кстати, в жизни всё гораздо проще. Обработчк прерывания - обычная
функция, в которой делается ровно то что она должна делать. Надо
флаг в регистре сбросить - сбрасываем флаг с помощью CMSIS. Надо
светодиодом мигнуть - дёргаем метод класса светодиода. Без всяких
комплексов. - VladislavS.(03.10.2022 09:15)
- Самое простое - обычные функции в плюсах никто не запрещал. Чуть
посложнее методы классов делать обработчиками, но и это возможно, с
опытом придёт. - VladislavS.(03.10.2022 07:07)
- Любопытно, вот есть класс UART, в нем обработчик прерывания void
i();. В программе создаем два объекта UART u1, u2; Как привязать
u1.i() и u2.i() к разным физическим прерываниям, не используя
Сишных прокладок? - AlexBi(03.10.2022 08:22)
- Никак. Т.к. ядро процессора/контроллера не умеет одновременно
указатель на объект (this) и адрес/смещение функции вычислить. - Costic(03.10.2022 16:50)
- Как вариант. Переносите таблицу прерываний в ОЗУ. В конструктор
класса UART передаёте его номер и создаёте объекты UART u1(1),
u2(2); Конструктор класса UART устанавливает свой обработчкик в
таблицу векторов прерываний при создании объекта. Можно и другие
варианты придумать, была бы необходимость. Но прокладка - самое
простое. Мир от её использования не перевернётся. - VladislavS.(03.10.2022 10:06)
- Так элементарно. Обработчик прерывания - обычная Си'шная функция
extern "C" { void Uart1Int(void) { u1.i(); } void Uart2Int(void) {
u2.i(); } } - =AlexD=(03.10.2022 08:28)
- Это и есть сишные прокладки, нет? КМК, значительная часть проблем
плюсов в том, что плюсовая публика излишне идеологизирована: "Нет
сишным прокладкам! Мы тут плюсы или где?" - SciFi(03.10.2022 08:35)
- Это ваши тараканы какие-то. Почему вы боитесь "прокладок"? Они даже
накладных расходов не несут. Смотрите примеры: VladislavS.(1068 знак., 03.10.2022 08:54)
- static не годится, т.к. для u1 и u2 он будет одинаковый. Сишные
прокладки не удобны, т.к. u1 может быть внутри другого объекта, а
тот внутри еще чего-то, либо вообще создаваться динамически. Вся
красота теряется. - AlexBi(03.10.2022 09:12)
- Это прекрасно. Только непонятно, зачем вообще нужен класс, когда
там всего две функции. Лишняя сущность же. - SciFi(03.10.2022 08:56)
- Или вот пример обработчиков с шаблонным классом. В контроллере два
USB, класс один, объектов два, обработчиков прерываний два. VladislavS.(1 знак., 03.10.2022 09:33, картинка)
- А я бы привёл другой пример. Да, с лишним сгенерённым кодом, но
может быть он понятнее "бедуинам"? Costic(541 знак., 03.10.2022 17:09, ссылка)
- вот, похоже на ответ. То есть из plain C можно обращаться уже к C++
выходит? - Dingo(03.10.2022 10:09)
- Кто-нибудь рискнёт сказать, что тут прокладки и это "недостаточно
С++"? Для реализации подобного на С две почти одинаковые функции
придётся писать? Только не надо про макросы... - VladislavS.(03.10.2022 09:52)
- Почему же не надо про макросы? Шаблоны это грубо замена макросам.
Предложенный пример спокойно реализуется через склейку. Только вся
натянутость шаблонных решений (плевать шаблоны плюсов или макросы)
не помогает навигации/отладке. Не буду говорить плохо о плюсах, а
хорошо не могу - у меня на них идиосинкразия. НО пример,
КМК,подобран именно идеологический и выбран вариант получения
экземпляров метода в зависимости от параметра с прицелом на
не-рантайм. В Сях не-рантайм - это Vit(263 знак., 03.10.2022 11:33)
- На С писать придется примерно так же, как на С++, те же две
функции, или одну, напичканную if-ами. Или я чего-то не понимаю ... AlexBi(1 знак., 03.10.2022 10:29, картинка)
- Чтобы не писать в каждой функции аргументом указатель на структуру
с данными. Экономия пальцекликов ;-) Но вообще то прикольно, когда
интеллектуальный помощник редактора сам вываливает тебе список
методов после точки. Можно не морщить моск и не заглядывать в
хедер. Удобненько. - =AlexD=(03.10.2022 09:03)
- Что значит две функции? Это же пример. Класс может быть сколь
угодно сложным. Один из методов - обработчик прерываний. Вот вам
класс с тремя навороченными методами, один из которых обработчик
прерываний. VladislavS.(155 знак., 03.10.2022 09:00)
- Плюсы в отличии от Си не универсальны, увы. Это совершенно очевидно
любому, кто с ними хоть немного поработал. И отсутствие стандарта
(хотя бы _дефакто) на именование функций в ASM выхлопе - одна из
проблем. Можно извернуться, забиндить метод с аргументом и как-то
прописать указатель в таблицу векторов, но это по сути будет ровно
то-же самое, что я написал, только через жопу. - =AlexD=(03.10.2022 08:45)
- Спрошу здесь. Каким умным словом называется, когда вставляешь
объект одного класса в другой класс? - IBAH(30.09.2022 14:20)
- В книжке Дж. Янга по Visual C++ это называется встроенный класс - il-2(01.10.2022 06:53)
- "Ну, Красная Шапочка, выбирай, либо, дружественное слияние, либо,
недружественное поглощение..." - mse homjak(30.09.2022 21:03)
- Из зала подсказывают: инкапсуляция - Nikolay_Po(30.09.2022 19:32)
- Коитус? - Kpoк(30.09.2022 18:21)
- Объект становится членом класса. - VladislavS.(30.09.2022 15:03)
- Еще вопрос. В этом случае, в какой последовательности вызовутся
конструкторы? - IBAH(30.09.2022 14:23)
- Сразу не понял вопрос. Первыми будут вызваны конструкторы членов
класса, затем конструктор объединяющего класса. Этот код выведет
АB. VladislavS.(148 знак., 30.09.2022 15:18)
- а если так funk(){static B b; }. Конструктор вызовется при первом
вхождении в блок? - IBAH(30.09.2022 15:43)
- Спасибо. А вот если объект объявлен внешним к main(). Когда
вызовется конструктор? ведь перед маин идет код "создания среды"... - IBAH(30.09.2022 15:41)
- Внешний к main это глобальный. Зависит от того как старатп написал.
Обычно сразу после инициализации сегментов данных перед вызовом
main. VladislavS.(19 знак., 30.09.2022 16:07, ссылка)
- чуть не в тему, но влезу. пока писали на сях, то обсуждали вопросы
целевой задачи - как настроить порт, оверсемплинг АЦП, как
настроить куб чтобы он USB хост сделал, ну и прочие чисто целевые
для решаемых задач проблемы. Mahagam(209 знак., 30.09.2022 15:51)
- На самом деле работа добавляется только в начале. Как только вы
обрастаете библиотекой классов скорость разработки сильно
вырастает. - VladislavS.(30.09.2022 16:05)
- да как только обрастаешь любой библиотекой - скорость работы
возрастает. но на форумах плюсовики нихрена не обсуждают целевые
задачи, а только и обсуждают лямбды, монады, виртуальные функции и
прочую чисто языковую ересь. - Mahagam(30.09.2022 16:10)
- А кому интересны МОИ целевые задачи? А вот языковые фишки у всех
одинаковые. А так как назвать их простыми для понимания нельзя, вот
и обсуждают. - VladislavS.(30.09.2022 16:15)
- здесь вот как раз и обсуждали целевые задачи. потому что языковых
проблем было совсем немного. - Mahagam(30.09.2022 16:18)
- А как обсуждение целевых задач связано с языком? В каком регистре
какой бит установить вообще языконезависимый вопрос. Как вы
понимаете С или С++ разработчик обсуждает целевой вопрос? - VladislavS.(30.09.2022 16:23)
- ещё раз. тут практически не наблюдалось тем с языковыми вопросами.
при этом форум - весьма живой. что при этом обсуждают - можете сами
полистать и посмотреть. а тематические форумы, где собираются
преимущественно пищущие на плюсах, на 90% засраны чисто языковыми
вопросами. - Mahagam(30.09.2022 16:29)
- Не замечал. Возможно, бывает, кто-то выкладывает примеры кода по
целевому вопросу на плюсах, вызывая тем самым непонимание у
собеседников, тогда может начаться срач. - VladislavS.(30.09.2022 16:35)
- Это из серии "Смотри как я могу!" - IBAH(30.09.2022 16:47)
- Бывает и выпендрёжь, конечно, но не обязательно. Ну просто есть
кого-то рабочик код на плюсах, не переписывать же его для форума
специально. - VladislavS.(30.09.2022 16:49)
- Проблема с терминологией. Где заканчивается "Си с классами" и
начинаются плюсы? Имхо, подходы в плюсах(в Си с классами ) в
некотором роде конечно удобнее, но все прекрасно реализуется на
теплом-ламповом Си. А все эти метапрограммирования в топку. Что и
иллюстрирует картинка ТС . - IBAH(30.09.2022 16:55)
- Вы просто не умеете его готовить. Я бы мог бесконечно показывать
примеры, но это непробиваемо. Сразу авторитетно докажут, что у них
для этого есть конфигуратор/скрипт/утилита и это тру вэй.
Проходили. - VladislavS.(30.09.2022 17:01)
- Пишите статью и ссылку сюда. "Ябпочитал" - Dingo(30.09.2022 17:22)
- Статья, в отличии от пятничного трёпа, требует времени. На просто
почитать есть пример кода, который ни одним макросом не напишете. VladislavS.(98 знак., 30.09.2022 17:37, ссылка)
- Вот так хорошая книга о С++ для эмбедерства и никак не напишется :/ - symbions(30.09.2022 23:35)
- С++ для эмбеддерства это всё равно что чернила для пятого класса.
Если вы понимаете как работает язык, то без всяких умных книжек не
будете в контроллерах применять контейнеры с эллокаторами, rtti,
исключения и виртуальные методы, а пустите в ход шаблоны, constexpr
и метапрограммирование. - VladislavS.(01.10.2022 01:05)
- Цэ++ для ымбеддерства — это Цэ. Готово, написано! - SciFi(30.09.2022 23:37)
- А можете на Цэ, к примеру, таблицу синусов во флэш сформировать? - VladislavS.(01.10.2022 01:41)
- Он ещё и кофе не умеет готовить. И это прекрасно! SciFi(65 знак., 01.10.2022 09:54)
- О чём я и говорил. Конфигураторы/скрипты/утилиты наше всё. Вернее
ваше. - VladislavS.(01.10.2022 10:03)
- А если программу на С компилировать как С++, получив при этом все
плюсы оптимизатора, это будет уже С++? - AlexBi(01.10.2022 14:33)
- Unix way! - SciFi(01.10.2022 10:29)
- +100. Также как вредны пустые абстракции, вредны и попытки писать
все-все в одном семантическом поле. - Cкpипaч(01.10.2022 12:04)
- Глупость несусветная. Вот в примере с таблицей синусов, если вам
нужно другое количество точек в таблице или другая точность/тип
данных, какие будут ваши действия? - VladislavS.(01.10.2022 14:10)
- таблица синусов - частный пример таблиц, заливаемых во флеш. их
особенность - достаточно простая вычисляемость. а что если таблица
зависит от внешних данных? а что если формулу расчёта хрен напишешь
в десяток строк? Mahagam(397 знак., 01.10.2022 15:16)
- Мои действия будут дословно такие же - переписать программу
генерации таблицы. И код, который с таблицей работает. - Cкpипaч(01.10.2022 15:08)
- В последнее время скриптами резал bmp с буквами на шрифты, собирал
прошивку из кусков с добавлением серийника и мак, обфурцировал и
зажимал html. Сомневаюсь, что тут мне помогли бы constexp. Зато на
хабре постоянно споры как на плюсах проще светляком помигать с
текстом проги на пару страниц. Может в мегапроектах это и
оправданно, но в небольших проектах это простыни малочитаемого
текста. - Andreas(01.10.2022 14:41)
- Не волнуйтесь, справимся. Кстати, вы заметили, как подход
оппонентов вы назвали глупостью, а в сторону вашего подхода никаких
комков грязи не летело? - SciFi(01.10.2022 14:17)
- Вот с таких применений и можно начать. А я могу выступить
подопытных кроликом, который умеет в железки и в С, но о С++ только
по верхушкам. - Dingo(01.10.2022 03:53)
- ;) symbions(16 знак., 01.10.2022 00:33)
- Упадочный стиль! Декаданс! Характерными чертами декадентства обычно
считаются отход от общественности и отвращение к повседневной жизни
(taedium vitae), что проявляется в искусстве отрывом от реальности, поэтикой искусства для искусства, эстетизмом, модой на демонизм , преобладанием формы над содержанием, стремлением к внешним эффектам, стилизации и так далее. IBAH(1 знак., 30.09.2022 17:22, ссылка)
- Никто бы и не возражал, если бы качественная плюсовая либа шла от
производителя. Но она Си'шная. - =AlexD=(30.09.2022 16:07)
- Композиция. Сверху вниз и слева направо. - Cкpипaч(30.09.2022 14:25)
- Если бы я бросил пить... Не гулял с друзьями... Не танцевал, не
тратил столько времени на женщин... Был бы усидчив... Я бы писал,
читал, рассчитывал, изучал, чертил, брал на дом работу, искал темы,
подмечал острым глазом, изобретал, выступал в журналах, сидел
ночами. Что-то открыл бы. От долгого сидения. Защитил бы
докторскую, получил бы премию... И уже тогда гулял бы с друзьями, и
танцевал, и тратил много времени на женщин. Что я сейчас и делаю без этих хлопот! - IBAH(30.09.2022 14:10)
- C июля плотно занимаюсь исправлением чужого кода на С++. С
удивлением вчера обнаружил, что вот это стало мне прекрасным :) symbions(40 знак., 30.09.2022 08:15, youtube)
- Вроде не пятница VladislavS.(1 знак., 29.09.2022 12:05, картинка)
- SDR трансивер на Ардуине. Гyдвин(1 знак., 13.09.2022 11:41, dao, ссылка, полностью)
- забросил в аплоад книгу Mastering Embedded Linux Programming и перевод с кодом. особо не читал, но systemd уже встречается:) - Vit(08.02.2019 01:17, dao, полностью)
- Искусство рекламы. Вижу - "Осциллограф Hantek DSO4254B - 53 290 ₽".
Иду смотреть Evgeny_CD(460 знак., 04.10.2022 22:47, dao, ссылка, полностью)
- Ну, что гигасэмплы делятся на каналы, это в порядке вещей. Но
получить 250МГц при 250Мсэмплов, это ненаучная фантастика.
Стробоскоп, да, но такой хоккей нам в % не упёрся. 1054Z щас с
доставкой по РФ, меньше 30к и на нём в одном канале легко
посмотреть 300МГц. Именно, "посмотреть". 1:10, без пружынки.
Амплитуда, где-то в той степи. Я об то, что Рыголь свои штатные
100МГц при 250Мсэмплах покажет "по честному". На грани, по лезвию.
А 250 при 250, % там... mse homjak(1 знак., 05.10.2022 10:55, картинка)
- памяти там кот наплакал. они её в килобайтах указали. и что-то мне
подсказывает, что толку от полосы, если всего 1GS/s. да и с полосой
скорее всего наврали. хуже врут только fnirsi - Mahagam(04.10.2022 23:27)
- «Пауэрбанк» для дома Anker 767 PowerHouse, 2048 Вт·ч. 85Вт в
течение 24ч. Для скромного дома надо среднее раза в 3....4 выше. Ну
и вопрос безопасности - бочка с бензином в спальне выглядит
безопаснее :( Evgeny_CD(1 знак., 05.10.2022 00:02, dao, ссылка)
- [AVR, ATtiny и шифрование] Сводный топик - Evgeny_CD(17.03.2018 21:13, dao, полностью)
- спасибо. буду выкуривать. - klen(03.10.2022 20:47)
- PS: я бы поостерегся доверять сторонним либам с непонятной реализацией алгоритма. Свойства того же RC4 понятно и его можно самостоятельно реализовать и проверить. А сторонняя либа неизвестно что вообще делает. Может там всё красиво описано, а fk0(73 знак., 18.03.2018 01:21)
- Atmel поставлял либу с реализацией AES+CBD, оптимизированную под 8-ми битники. Я на её основе сделал либу под stm32. - Evgeniy1294(18.03.2018 01:20)
- ТЕА, XTEA, XXTEA... Да и RC4 тоже в общем-то, да и любой шифр сделанный на базе хеш-функции, той же MD5 (конечно там есть радужные таблицы, но не всё на самом деле с ними так радужно). Вообще надо разделять подпись/аутентификацию и шифрование. fk0(22 знак., 18.03.2018 01:18)
- Аппаратный AES есть у Xmega. В старые времена здесь даже дискуссии были, позволят ли Xmega продавать в России из-за запрета на крипто-средства. - Ксения(17.03.2018 21:30)
- Хеши - Evgeny_CD(17.03.2018 21:27)
- AVR-Crypto-Lib -> - Evgeny_CD(17.03.2018 21:25, ссылка)
- Links to Embedded Crypto Implementations -> - Evgeny_CD(17.03.2018 21:24, ссылка)
- TEA и его коллеги -> - Evgeny_CD(17.03.2018 21:19, ссылка)
- Топик по теме -> - Evgeny_CD(17.03.2018 21:17, ссылка)
- Алгоритм SEA Evgeny_CD(17.03.2018 21:17)
- Статьи по теме Evgeny_CD(17.03.2018 21:13)
- Краем уха слышал про разные Sandbox-ы (изолированные среды внутри
ОС). А нельзя ли эти "песочницы" использовать для продления
триального срока софта? Argon(121 знак., 03.10.2022 13:54, dao, полностью)
- В ответ на: Cкpипaч(827 знак., 01.10.2022 16:52, dao, ссылка, полностью)
- А как принято изящно делать обработку "исключений" в конечном
автомате в суперцикле. Т.е. автомат щелкает по состояниям. Хряк,
исключение! Главный автомат остановили. Обрабатываем автомат
исключения. Обработали, вернулись в прерванное состояние. Проверку
на исключение в каждом состоянии делать как-то по
рабоче-крестьянки... - IBAH(01.10.2022 15:28 - 15:32, dao, полностью)
- Browsec (брови генсека). Не работает в FireFox под Windows 7. Т.е.
пропадает доступ вообще ко всему инету. Админ - сдался. Кто-то
что-то может посоветовать? - Toчкa oпopы(28.09.2022 11:29, dao, полностью)
- Два вопроса за раз хочу спросить, смежные в каком-то смысле: 1)
есть литература или цикл статей может, по которым можно навести
порядок в голове и/или научиться проектировать программы? Что-то по
методологии. 2) какие ОСи умеют в прерывании дёрнуть планировщик?
Появились новые данные для задачи, надо быстро отдать ей
управление, а не ждать хх миллисекунд до дежурного переключения.
Скорей всего на такие вещи задача "подписывается", семафор взводит
или ещё как-то обозначает Dingo(225 знак., 28.06.2022 07:30, dao, ссылка, полностью)
- Кое-что по методике написания кода С с пояснениями. Не бесспорно,
однако полезное есть. Dingo(1 знак., 28.09.2022 11:04, ссылка)
- По мне для мк, Free RTOS самое то, полно информации и
разворачивается в два щелчка. - PeterD(30.07.2022 17:16)
- Не добрался до ОС-ек в своих проектах (чужие - правил). Почитайте
посты самозабанившегося fk0 - он сильно критикует эту ОС. Главные
её достоинства - популярность и наличие портов под очень большой
список МК. Dingo(1 знак., 01.08.2022 06:48 - 02.08.2022 07:57, ссылка)
- критикуют те кто не умеют использовать. freertos с точки зрения
управления потоком выполнеия может делать все. задача решена в
общем виде. в прерывании можно отдать управление задаче. - klen(01.08.2022 08:38)
- Да, скорей всего, уже пояснили на счёт планировщика и книжку в
аплоад выкладывали. Задачу решил, докладываю: сделал функцию,
которая вызывается в том числе из прерываний, аргумент енум
место_вызова. Внутри автомат состояний, по завершению измерения
результат помещает в буфер. Медленная задача его проверяет и
забирает. Опять без ОСи решил, даже без protothread. - Dingo(01.08.2022 10:17)
- Компилятор Це с асмом тоже могут делать всё. Вопрос в количестве
велосипедов, что требуются от разработчика, для фриртоси это
количество велико, тут fk0 прав. Не поймите неправильно, я тоже
юзаю TNeo, но понимаю границы его используемости, а слой HAL
пришлось вообще самому выдумывать - lloyd(01.08.2022 09:13)
- "Появились новые данные для задачи, надо быстро отдать ей
управление " : 1) идеально решается автоматом в виде массива
функций, когда состояние является индексом массива.: поменяли
состояние и вышли. Оч наглядно. 2) что такое "быстро" ? может быть
так быстро, что для RTOS и времени нет. RTOS не экономит время, она
нужна только для распараллеливания медленных процессов. - VLLV(30.07.2022 07:51)
- Я в микроконтроллеры пришёл из программирования под ДОС и Windows.
Это не совсем то, о чём тут ниже спорят, но знания работы драйверов
и системного софта помогают. Поэтому посоветую книги П.Нортона (у
него все книги хорошие), Герберт Шилдт (что-нибудь по С или С++),
Джефри Рихтера (Windows для профессионалов.). - Costic(29.07.2022 16:45)
- Возвращаясь к 1) проектирование программ - пример: есть реализованный мной счёт времени подобный ntp под
STM32F407 на SysTick, с хранением целой и дробной части секунд, на
него повешан протокол синхронизации, который подстраивается
приемлемой для применения точностью. Dingo(1259 знак., 29.07.2022 12:13 - 12:34)
- Вам точно ОС нужна? Быстрые задачи пишутся логическим автоматом в
майне с вечным циклом и чтением флагов прерываний. Но при таком
подходе все циклы кроме основного исключаются. - Visitor(28.06.2022 19:50)
- Как насчет книг на языке системного противника? Сможете осилить? - Evgeny_CD(28.06.2022 11:30)
- 1) изучайте автоматное программирование, это самая сильная
концепция, остальное приложится 2) любая приоритетная RTOS умеет
перепланировать задачи после прерывания - =AlexD=(28.06.2022 10:06)
- Спасибо. 1) "автоматное программирование" звучит как то, что надо.
Порекомендуете какие-то книги или авторов? 2) не было необходимости
так подробно изучать ОС, чуть ниже залили в аплоад, буду вникать. - Dingo(28.06.2022 10:21)
- Неплохо освоить концепцию Tyмблep(172 знак., 28.09.2022 11:38)
- Ты подожди, прежде чем расшаркивать ножкой перед поклонниками FSM
(автоматного программирования), надо попробовать, поскольку пока не
попробуешь, мои слова все равно будут пустым звуком. Я - пробовал,
поэтому знаю о чем пишу. И пробовал я автоматы не для простеньких
тупеньких не имеющих никакой логики задачек, единственная функция
"автомата" которых это разнести реакцию предопределенных
последовательных состояний во времени, а наоборот, в
"автоматизации" алгоритмов RxTx(3475 знак., 29.07.2022 14:10 - 14:22, ссылка)
- А никто не обещал, что будет легко. Tyмблep(774 знак., 28.09.2022 14:02)
- И вам спасибо. Скрипач совсем пустого не посоветует, я от него
как-то уже получал
пинок импульс в нужную сторону, да и к изначальной формулировке вопроса
ближе ответ. Хотя да, вы больше спектр решений обозначили. Dingo(509 знак., 01.08.2022 06:44)
- Для "стратегического" уровня лучше автоматов нет ничего. - Cкpипaч(29.07.2022 21:57)
- hint: автоматы могут быть вложенными. Если ты не справляешься со
сложностью алгоритма, значит ты не справился с декомпозицией
задачи. Отлаживать автоматы легко и просто, т.к. их поведение
совершенно предсказуемо. - =AlexD=(29.07.2022 14:16)
- Когда я писал, уже ожидал такой ответ. "Легко и просто".
Да-да-да... И ключ в твоем ответе в последней фразе: «Совершенно
предсказуемо». Все мои ответы содержатся в моем же сообщении выше,
достаточно его прочесть медленно, попытавшись внимательно
проанализировать, а не сфантазировать быстренько, чего я там "не
справился", якобы не декомпозировал, и т.д. Вложенные автоматы там
как минимум упоминаются. Повторюсь: FSM и отлаживаются и ложатся на
задачу легко и просто RxTx(1183 знак., 29.07.2022 14:53)
- Стоп. Естественно, любой метод имеет границы применимости. Задач
для автоматов - вполне достаточно. Если невозможна (затруднена)
декомпозиция и построение графа переходов - автомат не напишешь.
Норм, о чем спорим, коллеги? Cкpипaч(818 знак., 29.07.2022 15:36)
- Что характерно, вы ноете о трудности отладки автоматов, но ничего
не говорите об отладке многопоточных приложений. Видимо,
подразумевается, что сообщения всегда передаются в задуманном
порядке, логи обычно не нужны и уж точно никогда не придется
сопоставлять логи из нескольких потоков. s_h_e(106 знак., 29.07.2022 15:07)
- Программирование при помощи Message queue'ing имеет преимущество
перед блокировкой потоков примитивами синхронизации. Одно из
преимуществ - decoupling и изоляция программных модулей. - RxTx(29.07.2022 15:57)
- Я не ною, также как и вы не "скулите", давайте для начала уважать
друг друга, а не так чтобы на ровном месте какое-то презрение.
Противопоставление КА vs Многопоточность родилось только в вашей
голове. Я честно говоря и сопоставить-то такое не догадался бы.
Выше нормальное описание возможных трудностей со сложными КА. В чем
вы видите недостаток в моем сообщении? Я где-то описал нечто как
панацею, как нечто легкое и простое? - RxTx(29.07.2022 15:48)
- Да, кстати. Вот это сообщение выглядит как описание проблем с
предложением решений в конце. У "решений" тоже есть свои недостатки
так-то. s_h_e(1 знак., 29.07.2022 21:56, ссылка)
- Пардон, я что то пропустил, допустим в мейне делаем несколько
разных автоматов каждый под свою задачу и работают с флагами
прерываний. Накладных расходов чем любую ОС меньше. Но не
универсально, а оно нужно? Простой пример: хочу лабораторный БП
сделать с цифровой регулировкой с энкодера и с компа. Установка
токового порога и задание напряжения - ШИМ. Приоритеты -
регулировка тока первый, напряжение второй, работа с панелью
управления и компом, уже не быстро можно, так зачем Visitor(46 знак., 29.07.2022 21:46)
- Ну я как-бэ тоже десятки автоматов написал, и проблемы возникали
именно в тех местах, где мне лень было хорошо подумать. - =AlexD=(29.07.2022 14:57)
- Логично, несколько автоматов в мэйне с перекрестными флагами кого
угодно с ума свести могут:-) - Visitor(29.07.2022 22:10)
- Отлично. Ты просто повысил мне настроение, я тут неслабо поржал. Ну
конечно, всё просто. проблемы были в тех местах где было лень
хорошо подумать, а значит и мне лень хорошо подумать, значит и тут
проблемы из-за этого! Философски - да, это так. Все наши проблемы
из-за недостатка ума. Это точно. Я могу кратко и сухо сказать, что
FSM надо применять только при жесткой предопределенности, когда
отработка FSM не завязана на события внешнего, физического мира. RxTx(2687 знак., 29.07.2022 15:38)
- Шалыто. "Автоматное программирование". Cкpипaч(2 знак., 28.06.2022 10:48 - 11:14, ссылка, ссылка)
- Литература - рекомендую классику. "Алгоритмы + Программы" Н.Вирт,
"Жемчужены творчества программистов" Д.Бентли. Но есть проблема -
методологии не просто "развиваются", они развиваются диалектически (отрицание отрицания) Cкpипaч(893 знак., 28.06.2022 09:26)
- Лично мне давно уже не хватает иной литературы, построения систем, а не просто методов и методологий программирования (а также
абстракций). Пример был не далее чем как в этой теме. Метод а) -
алгоритмизация системы. Метод б) применение наработанных матметодов
(PID, теория управления) Метод в) Само-обучающиеся системы,
нейронные сети. - RxTx(29.07.2022 16:29)
- Спасибо. Н. Вирта - вы про эту? Бентли - не попадалось упоминание,
поищу, ознакомлюсь. Про развитие - примерное представление имею,
что в каких случаях годно; я спросил в контексте baremetal + Си.
С++ пока опасаюсь применять. 2) Да. Но даже если ресурс освободился
или событие произошло в штатном случае будет ожидаться вызов
планировщика, а не максимально быстрое переключение на ожидающую
задачу, если приоритет ожидающей выше исполняемой. Это точно не
линукс-ы, это RTOS или Dingo(116 знак., 28.06.2022 09:58, картинка)
- Посмотрите в уплоад. Хотя это по фреертос но многие концепции
универсальны. Там ответы на вопросы по взаимодействию планировщика
и прерываний и многое другое. По заданным вопросам чувствую, что
Вам может пригодится. - framer(28.06.2022 08:53)
- Удалил - Вы тоже и написалив другом месте - symbions(28.06.2022 08:31)
- Мой опыт учит только тому, что чужой опыт ничему не учит. Пока на
своей шкуре не ощутишь, бесполезно. Поэтому накапливать опыт.
Решать разные задачки. Как-то так. - SciFi(28.06.2022 07:50)
- Научиться ездить на велосипеде по теории нельзя. Можно научиться
самому, можно - с инструктором/учителем. Время и усилия потребуются
очень разные. (Учил жену, сына, прямо сейчас племянника). Вот есть
"руководство" по решению программных задач, чтобы хотя бы теорию
освоить? ("надо крутить педали, давить вниз, верхнюю вперёд;
одновременно рулить, за счёт подруливания упреждать падение" -
сумбурный пример). - Dingo(28.06.2022 07:58)
- Задачи всегда уникальны, но общие моменты часто присутствуют. Вот
может кто-то озадачился общие моменты проанализировать, выделить
способы решения. Из попадавшегося вспоминается "Совершенный код"
МакКоннелла, но там слишком общие стороны, по сравнению с искомым. - Dingo(28.06.2022 07:54)
- Хабр. Алгоритмы сортировки и их производительность Evgeny_CD(1 знак., 24.09.2022 01:58, dao, ссылка, полностью)
- Журнал [Радиолоцман]. На 10й год Зоркий Глаз заметил отсутствие стены. Evgeny_CD(159 знак., 23.09.2022 01:57 - 13:40, dao, ссылка, полностью)
- !!! Китайская SMIC начала массовый выпуск микросхем по топологии 14
нм без применения иностранных технологий и в настоящее время
осваивает 7 нм и 5 нм. Evgeny_CD(1 знак., 17.09.2022 03:57, dao, ссылка, полностью)