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

Компиляция для STM32


DrobyshevAlex

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

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

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

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

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

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

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

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

Конечному пользователю думаю так же по барабану как вы там изворачивались при решении своих проблем при кодинге. Важен результат.

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

Сергей.

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

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

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

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

о даа. Первая мысль - а кто это вообще писал? Вторая - какие грибы он в это время ел? Третья - в чем смысл жизни, вселенной и все такое?

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

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

7 часов назад, Oxford сказал:

для  1 девайса не надо ничего изучать, просто закажите прошивку

Не, ну так я ж его делаю что бы самому поковыряться)) Мне он нафиг не нужен сразу готовый) К тому же, когда то может еще девайс захочу сделать. На меня раз в 1-2 года находит что нить поделать, а ща еще и комнатку для пайки на лождии сделал себе)) Вот и решил попаять.

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

Вот вы когда учились программить к вам кто-то лез с советами и тыкал в лицо HAL, Регистры, RTOS и т.п.? Вы САМИ до этого дошли согласно специфике своей работы и знаний.

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

Он сам в состоянии попробовать и то, и это, и выбрать свой путь.

Вот истину глаголите :)

Я благодарен за то что подсказали современные способы какие есть, а какие юзать я уже выберу :)

6 часов назад, mail_robot сказал:

да чего уж там, сразу девайс надо заказывать

Можно сразу купить квартиру с таким девайсом)

Суть в том что соседа ограбили, и у друга на работе напарника ограбили, вынесли все пока на работе был, даже мебель) Хрен кто чо видел, грузчики и грузчики :D

Я и решил чо нить напоять себе для охраны, точнее для оповещения по GSM и WiFi интернету. Ну и плюс удобства, что бы камера выключалась когда я дома, что бы китайцы не сливали меня в трусах.

1 час назад, optima сказал:

даже в собственных казалось бы безупречных программах

Бывает. когда пишу новый сайт или прилу, глядя на старую что б что то взять оттуда, думаю почему я сделал так а не сразу вот так? и подправляю) 

 

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

1 час назад, optima сказал:

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

Золотые слова)

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

4 минуты назад, DrobyshevAlex сказал:

думаю почему я сделал так а не сразу вот так? и подправляю) 

 

А самое прикольное это процесс бесконечный!

Сергей.

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

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

Конечно, ведь уже хрен что можно проверить по даташиту

Вы помоему в конец отбитый, причем тут даташит? Человек смотрит на код, он описывает какой то бизнес процесс. и тут он натыкается на отправку данных или другую ХАЛовскую функцию, у него не возникает вопросов на тему того что она делает, она укладывается в процесс бизнес логики.

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

Зато читать ой как удобно! Такое ощущение, что вы сказки для детей пишите, а не программы! С HAL читать красиво, и объем кода в 10-15 раз больше. Заодно палец потренируешь, пока до нужной строки кода доберешься! Красота!

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

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

 Программист МК, если он программист, прекрасно понимает, что записано в регистрах.

Ну это ваше личное мнение, и с реальностью оно никак не связанно. Все дело в уровне абстракции. Инженер вам скажет что настоящий программист должен знать еще как логически работает например АЛУ, что бы оптимизировать вычисления под него. Это так? нет, если этого не требует процесс. Это очередной ваш комплекс, не более. 

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

Да и было бы что понимать, даже начальных знаний английского достаточно чтобы развернуть аббревиатуры из заголовочника в словосочетания. Ладно бы в регистры писалось все виде чисел в HEX. Но нет, в заголовочниках все очень грамотно прописано! Кому это может быть непонятно - ума не приложу. Про то, что HAL и SPL содержат уйму лишнего кода (ага, защита на защите, как будто не программисты, а дети писать будут) я уже писал выше и не раз. Плюс одна либа тянет за собой пару соседних. И в чем удобство то? Писанины больше, читать сложнее (про упрощение могу согласиться только в настройке портов на 10х серии), с даташитом не сверить.

Опять же набор какой то вкусовщины про то что удобнее исключительно тебе КО КО КО тп. Аргументации нету в этом во всем, даже читать не интересно.

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

Поверьте, это не только у вас так. Я могу как писать прошивку под готовую плату (схемотехника которой, обычно, согласована со мной), стоящую в блоке, так и делать эту самую плату с нуля. Причем параллельно может идти несколько задач.

Причем тут опять же это? мой основной посыл был в том что электроника и программирование МК это чисто физически для меня сложно потому что в основной работе все НАСТОЛЬКО ДИНАМИЧНО, что даже для нее невозможно уследить за всеми новыми подходами и новациями, библиотеками фреймворками и тп. 

Какая схемотехника согласована со мной может быть когда я сам все делаю с нуля, в области в которой я бываю раз в пол года? Чувствуете разницу или нет? 

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

А настроить периферию в регистровом виде у меня занимает меньше времени, чем у вас с HAL, т.к. что-то особенное нужно редко, а все стандартные настройки уже давно мной расписаны и вынесены в отдельный файл. Закинул его в проект, отредактировал под конкретную задачу и все.

Ну это как бы вообще не смешно. Я практически не трачу на настройку периферии никакого времени, и даже на изучение настройки периферии никакого времени. То что делает куб меня устраивает и под мои задачи вполне себе все делает как надо. Собственно вы даже не отрицаете что имеете богатый опыт программирования что говорит о том что у вас есть время этим заниматься.

Итого: ни одного довода для меня использование регистрового программирования я не увидел. ХАЛ как решал все мои вопросы так и решает. Отсюда можно сделать вывод что у вас с головой есть определенные проблемы, вы может быть считаете себя дохера умным и выдающимся программистом? сразу скажу что это не так, программирование на подобных уровнях не отличается особым умом и сообразительностью, это вы понимаете когда перелопатили кучу кода на разных языках  и областей от 3D программирования и закачивая фракталами на Javascript, а большенство даже не стандартных алгоритмов уже давно описаны, еще с годов так 70. Все что я вижу, это попытка показать всем какой вы хороший, а все кто на вас не похож - говно. Уж извините но это не довод для меня.

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

35 минут назад, tar сказал:

Вы помоему в конец отбитый, причем тут даташит? Человек смотрит на код, он описывает какой то бизнес процесс. и тут он натыкается на отправку данных или другую ХАЛовскую функцию, у него не возникает вопросов на тему того что она делает, она укладывается в процесс бизнес логики.

Отлично, я открываю проект, хочу перенастроить периферию. Открываю даташит, смотрю, что надо поменять. Открываю проект и опа, вижу HAL! И что мне это говорит? Что помимо даташита мне надо открыть документацию на HAL? И где же выигрыш? Вопросов не возникает ровно до тех пор, пока не понадобится что-то менять. Или прикажете опять лезть в куб и настраивать все через него? Это же бред! Вот и выйдет, что я поменяю настройки железа за 10 секунд, а вам понадобится пол часа. Плюс настройку через регистры может прочесть и разобраться кто угодно, а вот в HAL разберутся только знатоки HAL.

 

35 минут назад, tar сказал:

При правильной абстракции и организации кода никаких проблем с его количеством нету. Если у вас есть, это проблемы в вашей голове. 

Какая, нафиг, абстракция? О чем вы? Где бред?! Или вы будете отрицать, что вместо ОДНОЙ строки кода у вас получается простыня? Я ведь выше приводил пример! А когда настроен десяток модулей? Или по вашему, чем больше кода, тем удобнее в нем разобраться?!

 

35 минут назад, tar сказал:

Причем я честно не понимаю как можно такой бред писать выставляя свою собственную некомпетенцию как программиста на показ.

И в чем же моя некомпетенция? Да и помолчали бы, вы уже выше писали, что знаний железа у вас нет, а без куба не было бы и программ. Это ваши слова, не мои! 

 

35 минут назад, tar сказал:

. С вашим подходом явно программистом ядра линукса не стать, чего уж тут говорить, с таким подходом его бы и не было совсем.

Да ну, серьезно? Может для начала научитесь отличать проги для МК от прог для ПК?

 

35 минут назад, tar сказал:

Ну это ваше личное мнение, и с реальностью оно никак не связанно. Все дело в уровне абстракции. Инженер вам скажет что настоящий программист должен знать еще как логически работает например АЛУ, что бы оптимизировать вычисления под него

Да в том то и дело, что далеко не только не мое. Ну и вы сильно удивитесь когда узнаете, что при оптимизации скорости тяжелых вычислений опираются на знания работы ядра МК. 

 

35 минут назад, tar сказал:

Опять же набор какой то вкусовщины про то что удобнее исключительно тебе КО КО КО тп. Аргументации нету в этом во всем, даже читать не интересно.

Т.е. тонна лишнего кода, никак не помогающего работе и ничем не обоснованное разрастание кода вместе с увеличением времени написания ПО для вас не аргумент? Серьезно? Я уже молчу про ваши аргументы. Такое ощущение, что пишет ребенок.

 

35 минут назад, tar сказал:

Ну это как бы вообще не смешно. Я практически не трачу на настройку периферии никакого времени, и даже на изучение настройки периферии никакого времени. То что делает куб меня устраивает и под мои задачи вполне себе все делает как надо. Собственно вы даже не отрицаете что имеете богатый опыт программирования что говорит о том что у вас есть время этим заниматься.

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

 

35 минут назад, tar сказал:

Отсюда можно сделать вывод что у вас с головой есть определенные проблемы, вы может быть считаете себя дохера умным и выдающимся программистом?

Да вот как раз таки нет. Я отлично понимаю, что даже при моих знаниях железа прошивки не всегда получаются идеальными. Зато вот юзверы HAL всегда считают себя супер программерами, которые все могут и все умеют! Однако на деле, все их прошивки уровня детского сада, а на их фоне выглядеть дохрена крутым вообще не проблема! И за языком следи, убогенький. не дорос еще хамить людям. Особенно, когда знаниями не блещешь!

 

35 минут назад, tar сказал:

, это вы понимаете когда перелопатили кучу кода на разных языках  и областей от 3D программирования и закачивая фракталами на Javascript, а большенство даже не стандартных алгоритмов уже давно описаны, еще с годов так 70.

Стоп! А я говорил, что я программист чего-то, кроме МК? На ПК я пишу лишь простые проги для себя и да, активно юзаю готовые библиотеки. 

А вот на МК получается интересная вещь. Я пишу не только под STM32, у меня и 8051 ядро есть, как минимум. И вот там НЕТ никаких HAL и прочей муры. И теперь, следуя вашей логике, я должен для одного МК писать все в виде регистров, на другой изучить набор говнолиб, на третий еще что-то в этом роде. И смысл, если везде можно все делать ОДИНАКОВО?! А заодно не впадать в истерику при переходе к МК для которого просто нет либ.

 

35 минут назад, tar сказал:

Все что я вижу, это попытка показать всем какой вы хороший, а все кто на вас не похож - говно.

Плохо смотрите. Глаза протрите для начала.

Все, надоело спорить с фанатиками, которые не признают очевидных вещей (самое интересное, что на изиэлектроникс никогда никто не тычет HAL или SPL и не кричат, что оно супер, а остальное гамно. Очевидно, всех фанатиков оттуда выгнали, но не суть). В связи с этим предлагаю начать спорить о чем-то другом, например Android или iOS, Nikon или Canon. Да мало ли тем для спора!

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

Я вот заметил, что хамит всем в теме пока только один человек. Наверное он действительно самый умный

21 minutes ago, BARS_ said:

Открываю проект и опа, вижу HAL! И что мне это говорит? Что помимо даташита мне надо открыть документацию на HAL?

и тут такой обсер...

я вот хал не знаю вообще. И доку на него читал только до конца оглавления, дальше сморило в сон. Но для ответа на поставленные выше вопросы у меня обычно уходит 2-3 клика мышкой и все становится предельно понятно. Доку на хал читать не надо. Он самодокументированный. Но самому крутому в мире кодеру барсику, рассуждающему вразнос о его недостатках это не известно конечно же. Ничего из того что он юзал до сих пор такими свойствами не обладало и как это читать он просто не знает

@tar вам же, по всей видимости, такое свойство кода не в новинку и поэтому хватает минимума времени чтобы въехать на достаточном для задачи уровне.

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

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

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

Да это просто скучно

Например прозвучал довод - "больший объем кода". 

Вот соответсвенно мое решение этой проблемы

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

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

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

На что я получаю совсем не адекватный ответ

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

Какая, нафиг, абстракция? О чем вы? Где бред?! Или вы будете отрицать, что вместо ОДНОЙ строки кода у вас получается простыня? Я ведь выше приводил пример! А когда настроен десяток модулей? Или по вашему, чем больше кода, тем удобнее в нем разобраться?!

или 

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

Да ну, серьезно? Может для начала научитесь отличать проги для МК от прог для ПК?

Как будто бы мы не можем систематизировать правила описания кода и следовать им или мы не можем применять те же самые паттерны при программировании МК? Да в МК даже можно MVC применить. Систематические подходы абсолютно не зависят от того где они применяются если они выполняют поставленную задачу, это же касается и систематизации кода. 

Отсюда можно сделать вывод, что вы просто слишком примитивно и шаблонно для себя смотрите на программирование и при этом гордитесь этим. Мне та ничего доказывать не надо. Я уже это все проходил 200 раз в разных областях. Я лишь хочу обратить ваше внимание, на вашу же собственную проблему.

 

 

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

Да хватит вам :D Все вы можете кодить, и по вашим словам даже работаете кодя. Если бы все юзали одно и то же, не было бы выбора и разнообразия)

Взять те же фреймворки для веба например, их куча) Да что далеко ходить, взять даже языки программирования :) Даже их куча. И зачем доказывать что именно Ваш выбор верный.

Глупо писать сайт на с++, глупо писать сервер для мморпг на руби. Нужно смотреть на многие факторы, от задачи, до круга лиц которые ее выполняют. Зачем писать что Хал надо юзать однозначно или не надо. Я уже писал выше, что когда мне надо было под аттини написать так я на ассемблере писал, что бы вместить прошивку в аттини13. Вот хала там не хватало или ОС.

А если у меня МК, на 64 кб памяти, и я планирую занять 10-20 кб, то почему бы мне не занять остальное ОС.

А если это группа кодеров, и они вместе решили что удобней Хал так юзайте. А если я один, и мне удобно без хала то зачем мне его юзать например? У меня коллеги все знают работу с битами, им проще написать так a ^= b; чем юзать 800 символов в строке для того же действия (да да утрирую).

Я пишу для себя, я знаю биты, я не дам вам свою прошивку даже за деньги, что бы не смущать потому отсутствием в ней хала) Заплатите, перепишу с халом.

Складывается такое ощущение, что ты либо знаешь хал и пишешь с ним, либо ты не пишешь с халом потому что ты тупой... Ну блин, тут спорный вопрос ) Имхо, кто пишет с халом, тот может без хала тупить) скажут вам есть проект, надо поправить, а там нет хала, и все, ппц, приплыли. А кто пишет без хала, тот думаю сможет с халом то управиться))

У меня у одного шефа есть куча проектов, в одном юзается ryby on rails в другом голый пхп + smarty в третьем yii1 + ar в 4 yii2 + доктрина в 5 symfony2 + доктрина. И ничего, как то все везде разбираются без проблем вообще.

Если вы понимаете что делаете, какая нафиг разница с халом вы это делаете или нет, делайте как удобней в данном проекте) И, если это проект рассчитан на работу в команде, обычно определяются что решать, а если не понравится, перепишите на другую либу, выйдет  новая либа начнете писать хал г*вно)

Как говорится все ровны но вы ровнее) Как можно утверждать что чел без хала или ос напишет код с багами, а с халом и ос нет.

Кто тупее гугл или эйпл? А ведь зарабатывают и те и те не плохо, а у них судя по андроид/иос вообще разный подход.

Язык программирования надо всем один, ide одну, либы одни, и жену одну. Ну судя по топику должно же быть только одно мнение)

 

1 час назад, tar сказал:

Например прозвучал довод - "больший объем кода". 

Вот соответсвенно мое решение этой проблемы

Вы даже не поняли сути фразы большой объем кода) Судя по вашему ответу. 

 

1 час назад, tar сказал:

С вашим подходом явно программистом ядра линукса не стать

Опять же, признак все равно но вы ровнее) Тут уже к конкретному человеку)

Вот тут такой момент, судя по тому тчо я видел, в хале вообще ен заботятся о быстродействии, чего я не могу сказать о линуксе, под который я пишу уже не один год) А если учесть еще и объемы памяти и скорость работы мк, так там вообще места где можно макросом сделать было, сделали функциями.

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

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

4 часа назад, mail_robot сказал:

в чем смысл жизни, вселенной и все такое

42 (автостопом по галактике), не благодари.

 

Мне кажется есть простое объяснение столь яркого отношения к халу у разных людей. Оно основывается на эксперименте со скрепками.

Если на стол положить небольшую кучку скрепок, не больше 20-ти, то из этой кучи можно с большим успехом вытащить почти любую скрепку так - чтобы она не подцепила за собой соседнюю. С ростом количества скрепок такой фокус исчезает. Уже в процессе добавления скрепок в общую кучу - они сцепляются с другими, образуя длинные связи. И при определённом критическом количестве - достать одну скрепу уже практически невозможно. За одной будет подниматься уже 98% общего веса. Если только очень аккуратно положить, а потом так-же аккуратно поднять, при этом не шевеля всю кучу. Ничего не напоминает?

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

А другим требуется жёсткая иерархия и порядок на каждом уровне ступени привилегий. Без перекрёстных связей из разных слоёв программы. Такие проекты очень легко переносятся на новые камни, легко изменяются и дополняются. Всегда можно взять часть, и использовать в другом проекте.

Как это происходит в реальности. Для инициализации FMC под халом - требуется три отдельных файла конфигурации, которые тянут за собой ещё около двадцати файлов. При этом нет чёткого места где происходит сама настройка, она почти вся косвенная. Да там есть структура для заполнения, но вот переменные для самой структуры - имеют слишком вольное представление. Приходится искать описание, что к чему подходит и при каких условиях.

Прикол, если использовать весь связанный код в одном файле (да, я проверял!!!) - то его длинна будет выше двух тысяч строк!!! Некоторые части этого кода используются однократно, другие имеют перекрёстные связи, а часть - многоразовая. На регистрах получается 100 строчек, и в одном месте.

В этом вся разница.

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

4 часа назад, mail_robot сказал:

@tar вам же, по всей видимости, такое свойство кода не в новинку и поэтому хватает минимума времени чтобы въехать на достаточном для задачи уровне.

Что для меня особенно важно, что я могу смотреть на свои довольно старые исходники, спустя довольно много времени вообще не работая с STM32.

А как возьму какой нибудь свой старый проджект даже на attiny13 так ваще плакать хочется. 

Поэтому для меня сейчас счастье что есть STM32 с их софтом.

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

3 hours ago, DrobyshevAlex said:

А кто пишет без хала, тот думаю сможет с халом то управиться))

и да и нет. Смотря кто с какой стороны к халу шел. Если я например шел со стороны регистров, то мне пофик на чем написан исходник. Но предпочту я более удобный инструмент. Потому как:

2 hours ago, AVI-crak Home said:

А другим требуется жёсткая иерархия и порядок на каждом уровне ступени привилегий. Без перекрёстных связей из разных слоёв программы. Такие проекты очень легко переносятся на новые камни, легко изменяются и дополняются. Всегда можно взять часть, и использовать в другом проекте.

именно по причине того, что без использования инструментов абстракции код быстро тонет в неочевидных зависимостях пришлось сделать выбор в пользу менее эффективного (это бесспорно) но более структурированного инструмента. В простом случае это голый хал на процедурном скелете, в непростом то же самое на ОС. Просто обьем ресурсов современных контроллеров топит в коде слишком быстро. И ту не о инитке речь. Инитка вообще мне лично по барабану сколько занимает и сколько там за собой тянет. Хоть триста тысяч хедеров. Код из них берется только если он необходим и только та часть что нужна из .o файла. Так что ужаса в этом никакого. А вот когда дофига ног, много периферии, UI да еще и не линейная логика работы всего этого, тут вообще даже не о типе либы речь. Главное обеспечить гибкость кода в плане его модернизации. Чтобы добавив лишнюю функцию на кнопку (к примеру, утрировано) не пришлось переписывать 90% кода. Барсику вон главное скорость и кроме нее они ничего больше не видит. Мне главное - чтобы МК выполнил задачу, а не выполнил ее обязательно с суперской никому возможно и не нужной скоростью. Там где нужна будет скорость я ее получу, уж будьте спокойны, хоть ассемблером если понадобится.

Но в приоритетах все равно останется читабельность и структура кода. На других МК были другие приоритеты. Жизнь течет...

2 hours ago, AVI-crak Home said:

42

 :friends:

2 hours ago, AVI-crak Home said:

которые тянут за собой ещё около двадцати файлов

елки палки, там вся либа "около двадцати файлов". Неужто так много?

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

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

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

Смотря кто с какой стороны к халу шел. Если я например шел со стороны регистров, то мне пофик на чем написан исходник

А я что написал? Что я считаю что если чел может с регистрами управиться, то с халом тоже сможет.

 

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

2 часа назад, tar сказал:

Что для меня особенно важно, что я могу смотреть на свои довольно старые исходники, спустя довольно много времени вообще не работая с STM32.

Это может сделать любой программист (если он программист) с любым своим проектом. Ничего сверхъестественного в этом, увы, нет.

 

2 часа назад, tar сказал:

А как возьму какой нибудь свой старый проджект даже на attiny13 так ваще плакать хочется. 

Так это от того, что прогер из вас никакой. Уж на Tiny плакать вообще абсурд, у него тех регистров горсть. Да еще и названы все по человечески.

 

1 час назад, mail_robot сказал:

Главное обеспечить гибкость кода в плане его модернизации.

Вот это уже зависит только от программиста. При наличии умения это делается с любым инструментарием. А при отсутствии ничто не поможет.

 

1 час назад, mail_robot сказал:

Мне главное - чтобы МК выполнил задачу, а не выполнил ее обязательно с суперской никому возможно и не нужной скоростью.

Опять же по тому, что твои задачи не требовательны к скорости. У меня же совершенно другие приоритеты. Мне нужна скорость и надежность. А код я любой прочитаю. Но т.к. параллельно с STM идут и другие МК, где нет HAL и прочей ереси, то использовать его для одного МК глупо. Тем более, что никаких очевидных выигрышей нет ни в чем. За все время я использовал только одну либу от ST, и то SPL. И юзаю я ее для настройки FSMC (мне тупо лень лезть в даташит и переписывать ее на регистры). Только из самой либы я выпили все левые зависимости и проверки чтобы в проект подгружалась одна либа и больше ничего.

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

А - Аргументация

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

Это может сделать любой программист (если он программист) с любым своим проектом. Ничего сверхъестественного в этом, увы, нет.

Ты это еще системным администратором которые на перле пишут скажи. 

Хоспаде да после такого с тобой вообще не о чем разговаривать.

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

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

Это может сделать любой программист (если он программист) с любым своим проектом.

Согласен) Как бы программист должен уметь в любых исходниках разобраться, как показывает практика, не только в своих :D Иногда приходится еще и дизассемблером поработать)

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

Так это от того, что прогер из вас никакой.

Ну а тут не соглашусь) Смотря о чем речь) Человек со временем учится. Например я кодил в 2005 на пхп без фреймворков, я писал свой прототип MVC и кодил на нем, а в 2001 вообще без MVC. Я не говорю, что там прочесть невозможно, но тем не менее сейчас я пишу код не так как раньше) Я использую фреймворки которых тогда и не знал, а некоторых библиотек тогда даже не было)
Но в данном случае речь конечно не про аттини13 под который я вообще не асм писал, не знаю что там можно совершенствовать.

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

Но т.к. параллельно с STM идут и другие МК, где нет HAL и прочей ереси, то использовать его для одного МК глупо.

А вот тут опять соглашусь, но частично, я свою либу сишную для атмеги8 для работы с nrf24 думаю без проблем перенесу на стм32 ибо я там сделал макросом отправку в спи. Теперь всего лишь напишу

#define NRF_SPI_ENABLE(V) ...
#define NRF_SPI_TRANSMIT(v) SPI_TRANSMIT(v)

и сделаю отправку хоть халом хоть другим классом по спи.

Скрытый текст

 

Второй вариант - я передавал в конструктор интерфейс ISPI, но я от него отказался, так как мне показался вариант с дефайном проще. Ибо нужно было описывать класс SPI с поддержкой интерфейса ISPI.
Задумка была в том, что при создании экземпляра класса SPI я передавал туда сразу ногу для выбора устройства "chip enable" к которому идет обращение по SPI.


 

Так вот почему отчасти. При написании кода, не стоит делать внутри одного класса зависимость от другого, я об этом писал уже в данном топике. А вот внутри основного цикла программы уже не что не мешает объединить мне мою либу и хал вместе) Другое дело, когда фанаты хала напишут свой класс какой нить, и всунут прям внутрь дерганье хала :) Ну это уже совсем другая история о паттернах DI и тд...

Но есть уж полностью код переносить с стм на атмел например или на оборот, то да, хал может быть линим) Тогда вообще сторонние либы, которые привязаны к фирме мк юзать не стоит) Хотя можно, просто обернуть своими макросами в одном файле, типа

#define SetPort HAL_GPIO_Write...

 

26 минут назад, tar сказал:

Ты это еще системным администратором которые на перле пишут скажи. 

Простите за нескромный вопрос, если вдруг вам операция понадобится, вы ее наймете сантехника делать?) 

Вот с таким подходом и делают у нас технику которая не работает потом)) Сисадмин пишет прошивки для мк какого нибудь устройства :)

А если вы делаете для себя, так тогда о чем вообще спор?) Делайте на чем хотите)

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

43 минуты назад, tar сказал:

Ты это еще системным администратором которые на перле пишут скажи. 

Хоспаде да после такого с тобой вообще не о чем разговаривать.

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

23 минуты назад, DrobyshevAlex сказал:

А вот тут опять соглашусь, но частично, я свою либу сишную для атмеги8 для работы с nrf24 думаю без проблем перенесу на стм32 ибо я там сделал макросом отправку в спи.

Я всегда так делаю. Библиотеки для работы с железом не привязаны к МК. Для связи с МК делается прослойка в виде либы для spi, i2c и т.п. А что в этой либо вообще по барабану, лишь бы обмен данными корректно вела. В итоге либы легко запускаются на любом железе.

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

3 часа назад, BARS_ сказал:

Т.е. ты будешь утверждать, что программисты не разбираются в собственных проектах? Я вот почему-то открываю проект годичной давности и за пару минут вспоминаю, что программа делает. Вне зависимости от того, под что проект написан. Да и не только я. Я в принципе не встречал программистов, которые не могут разобраться в своем коде любой давности. Если ты так не можешь, то оно и не удивительно.

Вопрос не в том что бы разобраться в коде, вопрос в том сколько на это времени уходит. Если ты пишешь по жизни одно и тоже, то к тебе и вопросов нету, а у меня есть проект в котором чистого кода около 4МБ, и это просто проект, других проектов другой направленности кучу. И я не встречал пока программиста в моей сфере кто бы без проблем вносил все правки в свои проекты годовой давности. Хотя я уже понял что ты по сути дальше ВОТ |= ЭТОГО не ушел. Как я и писал выше, разговаривать нам с тобой не о чем.

3 часа назад, BARS_ сказал:

Самому не смешно? Хотя я уже привык к твоей детсадовской аргументации.

Я чет пока от тебя вобще никакой аргументации не увидел, даже детсадовской. Пока твой треп даже на демагогию не катит, так - пережитки собственного самодовольствия.

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

В 18.12.2018 в 22:47, tar сказал:

Если ты пишешь по жизни одно и тоже, то к тебе и вопросов нету, а у меня есть проект в котором чистого кода около 4МБ

Во-первых, у меня все проекты разные, повторяться там может только работа с железками типа EEPROM. Но не суть, правки вносятся на раз-два, ибо в проектах стоят комментарии в сложных для понимания местах. Если ты и твои программисты не обучены правилам хорошего тона в написании программ, то это их личные проблемы. У моих коллег почему-то не возникает проблем.

 

В 18.12.2018 в 22:47, tar сказал:

Я чет пока от тебя вобще никакой аргументации не увидел, даже детсадовской. Пока твой треп даже на демагогию не катит, так - пережитки собственного самодовольствия.

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

 

Все, кончай позориться! Мыша хоть какие-то весомые аргументы может привести. Хоть видно, что человек понимает в железе с которым работает. Тебе же это не дано ибо кроме лени тобой ничто не руководит! Взял инструмент, а для чего он нужен не потрудился разобраться! С таким же успехом можно телефоном гвозди забивать.

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

9 hours ago, BARS_ said:

Вот интересно, как ты потом меняешь настройки железа в проекте

да элементарно меняется. Куб паттерн настройки блока генерит всегда полный. Заходим в инитку, читаем, находим нужное поле структуры (если ты не конченый даун и хоть раз видел даташит то ошибиться сложно). Затем go to implementation на константу (флаг, значение etc) там все подробнейше прописано с комментами что и зачем. Выбираем нужный, копипаста. Финиш

И такое происходит действительно очень часто

Однако лезть до обьявления энумератора даже не обязательно. Обычно и так понятно как должен называться флаг, потому как правила именования у хал очень жесткие. И в том числе благодаря этому он читается всегда однозначно. Но это же его и боль. Текст получается на вид очень громоздкий. Хотя бить его не сложнее регистров, даже в кейле. Автозавершение отлично справляется

Да и оно не всегда надо. В документах в папке куба есть папка примеров. Там паттерны готовые целиком на любой блок с пошаговыми комментами. Разберется даже ленивый балбес типа меня. Я вот сейчас кручу can-bus в котельную себе. Ни разу с этим модулем не работал и даташит на идише кое как пролистал. Однако работает. Телеграммки между 5-ю устройствами летають ) Адресаты реагируют как положено по фильтру. Красота . Там где эзернет и вафля избыточны - кан самый вариант микролокалки.  И сколько бы я на регистрах его мурыжил? А перед этим еще дня два даташит в оперативку заливал. А тут 30 минут от нуля в башке до первого успешного полета и БЕЗ каких либо затруднений! Все что мне надо было знать, так это принцип работы кан-шины как таковой. Сообщения коды фильтры и все такое, чтобы хоть понимать что там имеется в виду под всеми этими аббревиатурами

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

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

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

3 часа назад, mail_robot сказал:

да элементарно меняется. Куб паттерн настройки блока генерит всегда полный. Заходим в инитку, читаем, находим нужное поле структуры (если ты не конченый даун и хоть раз видел даташит то ошибиться сложно). Затем go to implementation на константу (флаг, значение etc) там все подробнейше прописано с комментами что и зачем. Выбираем нужный, копипаста. Финиш

Воооот, надо видеть даташит. А @tar в даташиты глядеть не любит, как работает железо знать тоже не любит. Тут ведь дело в чем. Ты юзаешь HAL потому, что умеешь его готовить и тебе удобно в нем работать, а вот @tar пока никаких объяснений кроме вселенской лени сгенерировать не смог.

 

3 часа назад, mail_robot сказал:

И сколько бы я на регистрах его мурыжил?

Да недолго, читал я даташит по поводу CAN, все довольно просто. Спецификацию CAN изучать дольше. Единственно, руки пока так и не дошли до попробовать в железе ибо работы дофига и больше.

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

судить о человеке только по писанине на каком то там форуме тоже не признак высокого лба

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

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

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

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

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

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

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

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

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

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

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

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

  • Сообщения

    • Ну вот, пока готовил эскиз, на все вопросы ответили :-) Действительно, в 3D моделях DipTrace нет (или не нашёл) модели корпуса ТО220 с распайкой с нижней стороны и креплением к радиатору - по этому и получился такой 3D-портрет платы. Задуманная конструкция выглядит примерно так:  По факту, для наладки, сейчас подключаю транзисторы, закрепленные на радиаторе, проводами.
    • Чтобы потом не допиливать паровоз до истребителя. Заводские варианты схемотехники куда более предсказуемы. Из "вольностей" в первую очередь как-то решать проблему коммутации, подходящий переключатель для режимов искать история долгая и грустная. Что-то там с реле. На диапазоны 6п4н вроде же ?  пг2 хрен найдёшь, п2г тугое неудобство(  Рассыпушный ацп делать, боже упаси. Ну разве что был грешен, побаловался когда-то пнч-ацп. С 1108пп1 и 155 серией
    • Но зачем повторять 1в1? Там дана просто топология   Но не совсем же с нуля. Маловероятно, что вы найдете расширение диапазона 7135 до 200мВ по тому же методу, что это реализовано в В7-38, тем не менее, это вполне реализуемо. А вот до 20мВ я спустить диапазон не смог Что-то предусилитель интегратора отказывается вести себя хорошо   Для сравнения, та же точка (вход интегратора) при 200мв пределе, усиление х10   Ну и 2В Госпаде боже лтц2400, на этой штуке можно и 6 разрядник собрать, лютый АЦП, какие 4.5 разряда Цена на него сейчас конечно негуманная кстати.
    • Что то не нашёл примеров такой реализации замены. С нуля целесообразность подобного действа под вопросом. Тут мои полномочия всё) Как бы почему смотрю на hm8011-3, возможность реализации +/- норм настольного мультиметра без всякой там жести в виде кодинга и микро-мелких современных элементов. Для калибровки валяется где-то в1-12 и прецизионных резисторов если моих не хватит, есть где заказать.  На данный момент разве что качественного файла нет, пытался там всякими улучшайками чего сделать, увы. Пойду через впн лазить по уголочкам всяким, вдруг всплывёт чего. ------------- 8012, 80c32 + 27c512. Чертежи плат есть, осталось hex раздобыть 
    • Вот на этом фото? Я думал  тут радиатор будет под ними, и они к нему "пузом" будут прикручиваться, а дырочки - для отвёртки. У @asng60 транзисторы в наружную сторону "мордой" смотрят. "Пузом" на плату ложатся. Плата так разведена. Вот и непонятно, как их "пузом" к радиатору прикручивать.
    • Что касаемо модели Парафина, я бы порекомендовал товарищу Джексону проверить ток покоя выходного каскада, это первым делом, и вторым делом- проверить модель ОУ. Ибо в ОМ нет никаких оу а в парафине- есть. 
×
×
  • Создать...