0--ZEvS--0: Все сообщения за 4 Сентября 2023 года

 
ПнВтСрЧтПтСбВс
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

0--ZEvS--0

опытный

0-ZEvS-0>> Когда/если ...
И.1.> Сегодня 555-ый день СВО. ...
Да. Но что-бы это значило?
И.1.> Так ты, "талантливый инженер" (скромная самооценка, ничего не скажешь), и воевать собираешься?
Во-первых отрадно, что Вы перед тем как написать сей замечательный пост ознакомились с моими прошлыми постами.
Во-вторых я пока не достаточно велик, что-бы позволить себе скромность.
В-третьих Вы писали риторическое "ничего не скажешь", но Вы же сказали. Нет ли здесь досадного и великолепного противоречия?
И.1.> ... и воевать собираешься? Когда начнёшь?
Мы, русские, первыми не начинаем. :p
 52.052.0

0--ZEvS--0

опытный

0-ZEvS-0>> Все можно распараллелить, кроме специально организованных
3-62> Вот снова вы не доныриваете до основ.
А должен всегда доныривать до основ?
3-62> Наличие в голове понятного алгоритма, придуманного тоже головой - достаточное условие для возможности его выполнения.
Точнее не сказать.
3-62> Нудность, время и т.п. - вторичны.
Тоже не спорю.
3-62> И, пока что, в этой реальности - головы заливают алгоритмы в процессоры. А не наоборот.
3-62> :)
Возможно. Но не исключено, что в силу феноменологичности нашего бытия мы чего-то не замечаем. ;)
 52.052.0

0--ZEvS--0

опытный

AleksejLt> Ну ESP32 я тоже отношу к "ардуинкам". А уж ресурсов там дофига) Да в той же УНО достаточно памяти.
Дело не только в памяти. Я серию Nucleo тоже люблю, и одним из достоинств STM32 возможность исполнения кода из ОЗУ. А значит код можно подгружать по мере необходимости "на лету" с любого внешнего носителя. AVR так не может. И в этом их основная разница, а не в количестве памяти или разрядности РОН.
>> Помнится хотел один мой друг детства (IT`шник) освоить это дело, написал пару проектов, а на целевой проект у него ресурса не хватало... И он сделал вывод, что МК г**но. :D
AleksejLt> Если он использовал тиньку 13 то могло и не хватить) Неужели он писал на Си и получил такой неоптимальный код?
МК там был что-то вроде ATMEGA8. Не хватило разрешения по времени, для управления тремя сервомашинками.
>> Наверное, потому-что их писали такие же "ламеры" как и те, для кого они предназначены. Хотя может я ошибаюсь.
AleksejLt> Жестко ты их пнул) Я думаю, что ошибаешься, у многих библиотек тысячи и десятки тысяч скачиваний. Просто некоторые вещи удивляют - есть библиотека для работы с ТФТ экраном, а она тянет за собой библиотеку для работы с... картой памяти. И зачем она там? :)
Потому-что, у основного потребителя таких изделий (шилдов) идея показать картинку фотографического качества на дисплей, возникает в первую очередь. А где взять ту картинку, а она должна храниться на легко используемом модуле памяти, а это sd карта.
>> Ну может поначалу. Я например, сразу под задачу выбираю макромодули с процедурами и вставляю в проект. Потом настраиваю уже готовый "Инициализатор", который по резету инициализирует мне всю периферию, все выводы/вводы, таймеры и прочее.
AleksejLt> Т.е. ты давным-давно написал кучу модулей и теперь их используешь? Значит у тебя есть самописные библиотеки? Просто мне кажется, что на Си их гораздо больше, они более проверены и их проще можно использовать)
Ну, я написал библиотеки не "разом" и "давным-давно", а они у меня накопились за все время подобной практики. Время от времени, я их прочесываю и упорядочиваю. Есть и уникальные работы, то есть такие, которые никто не делал. А никто не делал, в свою очередь, потому-что все делают, так, как принято, и зачем изобретать велосипеды.
В основном это все ЦОС.
В некоторых проектах без ассемблера я бы не обошелся, задачи столь специфичные, что только "атомарный" ASM...
>> Ну и если время позволяет, люблю из МК выжать максимум.
AleksejLt> Это круто, но мне кажется, что на Си у тебя получилось бы быстрее. И код вряд ли будет менее быстрым/эффективным)
Да, на Си писать быстрее. И да, код будет столь-же быстрым и эффективным, но пока речь идет об простых задачах. Как только возникает задача, в которой необходима синхронность чего-то и чего-то "до такта", или стабилизация времени исполнения модуля - только ASM... :)
 52.052.0

0--ZEvS--0

опытный

0-ZEvS-0>> А должен всегда доныривать до основ?
3-62> Если "талантливый инженер" - то да. Обязательно. :)
Не факт :)
0-ZEvS-0>> Возможно. Но не исключено, что в силу феноменологичности нашего бытия мы чего-то не замечаем. ;)
3-62> Ага. С. Лем. "невозможно распознать бытие в фантомате". :)
Именно! ;)
 52.052.0

0--ZEvS--0

опытный

SEA> Но я понимаю зевса об удовлетворении процессом оптимизации, особенно мелких контроллеров. Просто совсем мелкие потеряли актуальность сейчас
Эх, расскажу одну историю "Как я всех спас". :)

Как то ко мне пришел наш программист МК (Саша) и пожаловался, что задача не выполнима...
Я в то время у них не столько начальник был, сколько старший коллега. Рассказ Саши состоял в том, что Вова накосячил и поставил не подходящий МК. Проект вел не я, и вообще я не знал детали реализации, тонкости внутренней архитектуры и прочее. Саше я сказал - "оставляй макет, скинь мне ТЗ, и свои наработки. Попробую понять что делать". Также сходил к Вове, он разводит платы и в общех схемотехник. Попросил у Вовы посмотреть проект. Он мне показал, ничего не заподозрив.
В общем в одном месте надо было генерировать 2 частоты 25 КГц и 24.948024... КГц.
Короче 12МГц/480 и 12МГц/481. И чтобы это выходило на 2 ножки МК...
Если честно, то я бы поставил несколько корпусов "74HC" в соиках, и сделал бы аппаратный делитель. Место позволяло с огромным избытком, прошивать не надо, ремонт сводится только к замене микросхем, разница в стоимости отсутствует. Но Вова поставил кварцевый генератор на 12 МГц и ATTiny13, чтобы "по современному", а жесткая логика "ушла в прошлое и отмирает".
Сомременность Вовы, ИМХО, что он сэкономил только на труде монтажника, ведь впаять один соик8 проще, чем 4-5 соик 14-16. А вот, что программисту надо прошивку генератора на МК (КАРЛ!!!) писать - это он не учел.
В общем посмотрел я как написал все Саша. Было несколько версий на СИ, и ни одна нормально не работала, хотя написано было очень красиво, граммотно и прочее.
Так за трое плохосонных ночей я написал.
Моя прошивка состояла из чистого линейного алгоритма, без использования переферии, таймеров и даже без прерываний. Идея состояла в том, что надо поднять 2 ножки вместе, подождать нужное время в тактах, опустить одну ножку, и сразу следующей командой опустить вторую. На следующей такой операции написать 1 NOP между подьемами ножек...
Я написал подпрограмму управляемой задержки в тактах. Это не простая подпрограмма, пустой цикл выполняется не один такт, значит мы можем задать время кратно времени выполнения цикла, но не до такта. Поэтому, я сделал еще несколько подпрограмм, с разным количеством "NOP" внутри.
Иначе-говоря, в главном и бесконечном цикле моей программы вызывались всякие подпрограммы
задержек с аргументами и горы NOP`ов.
Принес я через четыре дня *.HEX и *.ASM Саше и отдал. И сказал ему: "Ничего не меняй".
 52.052.0

0--ZEvS--0

опытный

AleksejLt> Да, я забыл про такие приколы :D #define TRUE:=FALSE //*битесь с*ки!
:D Прикольно, неплохая подляна!
Примерно как в той истории про "haht-haht!" :D
 52.052.0

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru