Показано с 1 по 18 из 18

Тема: Подскажите начинающему где взять ума про мелкоконтроллеры

  1. #1
    Завсегдатай
    Автор темы
    Аватар для l3VGV
    Регистрация
    02.05.2009
    Адрес
    Псков
    Возраст
    42
    Сообщений
    1,016

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

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

    Мигать диодом, читать АЦП, общаться по SPI и прочие мелочи получаются, спасибо куче инфы от ST.

    Хочется какойто сборник рецептов на тему что такое хорошо и что такое плохо. Книгу, блог, или может какой репозиторий с грамотными примерами?

  2. #2
    Завсегдатай Аватар для Openreel
    Регистрация
    02.09.2006
    Адрес
    Санкт-Петербург
    Возраст
    49
    Сообщений
    3,157

    По умолчанию Re: Подскажите начинающему где взять ума про мелкоконтроллеры

    Цитата Сообщение от l3VGV Посмотреть сообщение
    Хочется поумнеть в области программирования мелкоконтроллеров.
    Эффективным решением практических коммерческих задач.

    Теоретический очень много аспектов, жизни не хватит изучить их все. Поэтому специализация.
    WBR, Michael.
    Цель расчетов - понимание, а не числа (с) Хемминг.

  3. #3
    iN GOD We TRUSt Аватар для EDDiE
    Регистрация
    13.02.2006
    Сообщений
    13,139

    По умолчанию Re: Подскажите начинающему где взять ума про мелкоконтроллеры

    Цитата Сообщение от Openreel Посмотреть сообщение
    Эффективным решением практических коммерческих задач.
    Михаил, в какой области: нефтянка, другие сферы, написание программ: Адрюши, IOS, Windows, игр для этих ОС?
    Цитата Сообщение от Openreel Посмотреть сообщение
    Теоретический очень много аспектов, жизни не хватит изучить их все.
    Это так.
    Цитата Сообщение от Openreel Посмотреть сообщение
    Поэтому специализация.
    Опять же, в какой области?

  4. #4
    Завсегдатай
    Автор темы
    Аватар для l3VGV
    Регистрация
    02.05.2009
    Адрес
    Псков
    Возраст
    42
    Сообщений
    1,016

    По умолчанию Re: Подскажите начинающему где взять ума про мелкоконтроллеры

    Еслибы был доступ к комерчиским задач и накопленной базе решений то конечно...

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

  5. #5
    Завсегдатай Аватар для Openreel
    Регистрация
    02.09.2006
    Адрес
    Санкт-Петербург
    Возраст
    49
    Сообщений
    3,157

    По умолчанию Re: Подскажите начинающему где взять ума про мелкоконтроллеры

    Цитата Сообщение от EDDiE Посмотреть сообщение
    Опять же, в какой области?
    В которой топикстартер собирался умнеть.

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

    ---------- Сообщение добавлено 18:41 ---------- Предыдущее сообщение было 18:38 ----------

    Цитата Сообщение от l3VGV Посмотреть сообщение
    Ну и пока хочется теоретические основы усвоить, базовые приемы и навыки.
    Надо точней определить, хотяб для зарабатывания денег оно или для развлекухи.
    Есть пачка буржуйских книг по "встроенным системам вообще", журналы профильные и тп.
    Тема то реально огромная.
    WBR, Michael.
    Цель расчетов - понимание, а не числа (с) Хемминг.

  6. #6
    Завсегдатай
    Автор темы
    Аватар для l3VGV
    Регистрация
    02.05.2009
    Адрес
    Псков
    Возраст
    42
    Сообщений
    1,016

    По умолчанию Re: Подскажите начинающему где взять ума про мелкоконтроллеры

    Боле менее конкретные направления - USB, для нашего аудиогубительства и для сопряжения своих поделок с компом(USB HID).

    Оно уже работает, но нужно посмотреть как надо было делать, а не просто успокоиться на как получилось. Ну и вообще, Best practice в общем, как организовать всё архитектурно, какие либы в каком случае уместнее использовать, когда городить велосипеды а когда FreeRTOS и т.п.

  7. #7
    Завсегдатай Аватар для Openreel
    Регистрация
    02.09.2006
    Адрес
    Санкт-Петербург
    Возраст
    49
    Сообщений
    3,157

    По умолчанию Re: Подскажите начинающему где взять ума про мелкоконтроллеры

    С USB почти не работал, в индастриале оно не популярно.

    Цитата Сообщение от l3VGV Посмотреть сообщение
    когда городить велосипеды а когда FreeRTOS
    РТОС надо, только если есть несколько высокоуровневых независимых потоков или потоки требуют нетривиальных ожиданий (предпологается активное использование семафоров, мьютексов и тп).
    По встроенным осям читать конечно Jean Labrosse.
    WBR, Michael.
    Цель расчетов - понимание, а не числа (с) Хемминг.

  8. #8
    iN GOD We TRUSt Аватар для EDDiE
    Регистрация
    13.02.2006
    Сообщений
    13,139

    По умолчанию Re: Подскажите начинающему где взять ума про мелкоконтроллеры

    Цитата Сообщение от l3VGV Посмотреть сообщение
    Мигать диодом, читать АЦП, общаться по SPI и прочие мелочи получаются, спасибо куче инфы от ST.
    А так, что-бы почитать для только-только начАть или нАчать (C), для тех у кого это пока на иероглифы похоже?

  9. #9
    Завсегдатай
    Автор темы
    Аватар для l3VGV
    Регистрация
    02.05.2009
    Адрес
    Псков
    Возраст
    42
    Сообщений
    1,016

    По умолчанию Re: Подскажите начинающему где взять ума про мелкоконтроллеры

    Раздобыть отладочные платы. Я использую много blue pill, 1 f103 nucleo, 1 f473 discovery.

    Главное собстенно начать делать, не откладывать и не бояться. Нынче оно не сильно сложнее прикладного выскоуровневого десктопного программирования. Вспоминаю 20 лет назад, когда нам на лекциях рассказывали как надо на ассемблерах делать всё, а на последней лекции были обзоры потуг С компиляторов для 8ми битных пиков и атмелов. А сейчас даже для attiny11 я для паяльника прошивку на С сделал, влезло с огромным запасом


    1) Генерить блинкер примеры
    а) кубом
    б) выбранной IDE, Atloic сейчас хорош. Блинкер читаемый генерит.

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

    2) Читаем бесплатную и доступную литературу, например
    https://cs.indiana.edu/~geobrown/book.pdf

    там будет внятно про переферию, как с ёй работать.

    но! простые учебные литературы они и простые примеры приводят. Вот вам SPI, а вот вам USB CDC. А как прочитать из SPI ADC, а потом переслать в комп, ну это вы както сами(ну это пример я придумал, может почти это и есть, но смысл в том, что сложных проектов не рассматривается, как корректно архитектуру делать в таких случаях - тоже мимо).

    дальше можно почитать неплохие статьи, в моём случае я вдохновлялся https://habr.com/ru/post/208026/



    ***

    Я почему топик этот завёл. Когда разобрался в мелочах, оно кажется элементарно. А вот скрестить 2-3-4 элементарных вещи - невозможно или крайне сложно. Понятно что к 2019му году многие уже это делали, но почемуто нигде не описано, или я не верно ищу.

  10. #10
    iN GOD We TRUSt Аватар для EDDiE
    Регистрация
    13.02.2006
    Сообщений
    13,139

    По умолчанию Re: Подскажите начинающему где взять ума про мелкоконтроллеры

    Цитата Сообщение от l3VGV Посмотреть сообщение
    А вот скрестить 2-3-4 элементарных вещи - невозможно или крайне сложно.
    Как скрестить ужа с ежом и получить 2 метра колючей проволоки?

    Я так думаю (С), что надо взять чей-то открытый проект и посмотреть как там сделано.
    Типа Танго Энергетика.

  11. #11
    Завсегдатай
    Автор темы
    Аватар для l3VGV
    Регистрация
    02.05.2009
    Адрес
    Псков
    Возраст
    42
    Сообщений
    1,016

    По умолчанию Re: Подскажите начинающему где взять ума про мелкоконтроллеры

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

  12. #12
    Завсегдатай Аватар для Openreel
    Регистрация
    02.09.2006
    Адрес
    Санкт-Петербург
    Возраст
    49
    Сообщений
    3,157

    По умолчанию Re: Подскажите начинающему где взять ума про мелкоконтроллеры

    Цитата Сообщение от EDDiE Посмотреть сообщение
    А так, что-бы почитать для только-только начАть или нАчать (C), для тех у кого это пока на иероглифы похоже?
    С кортексов лучше не начинать. Там слишком много телодвижений вокруг настройки периферии, это будет сильно отвлекать от главного. Лучше8 бит на классической архитектуре, там преферия с пол пинка запускается и можно сразу сконцентрироваться на основных задачах.
    Хорошая книжка по си для начала , запускать и пускать простые примеры на компе. Нынче мультсрединг уже любому доступен и многоядерные процы - легко можно словить граблей связанных с синхронизацией данных между тредами. Это обязательные основы для мелкоконтроллеров - там в реальном приложении может быть запросто 10-20 источников прерываний, а простых 2-3 источника - без знаний и умений синхронизации получится фигня сразу.



    Цитата Сообщение от l3VGV Посмотреть сообщение
    А как прочитать из SPI ADC, а потом переслать в комп, ну это вы както сами
    Так это значительно сложней, тем писать на каждом углу как в уарт три байта заслать. Потому и не пишет никто, а если пишет, то сильно упрощенно-учебно.
    Опыт разработки реальных больших проектов, можно(и даже лучше) не микроконтроллерных, в проф компании, вот это продвигает вперед сильно.

    Цитата Сообщение от EDDiE Посмотреть сообщение
    Я так думаю (С), что надо взять чей-то открытый проект и посмотреть как там сделано.
    Хорошие примеры под настоящей осью есть тут http://www.ethernut.de/en/software/
    WBR, Michael.
    Цель расчетов - понимание, а не числа (с) Хемминг.

  13. #13
    Завсегдатай
    Автор темы
    Аватар для l3VGV
    Регистрация
    02.05.2009
    Адрес
    Псков
    Возраст
    42
    Сообщений
    1,016

    По умолчанию Re: Подскажите начинающему где взять ума про мелкоконтроллеры

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



    Цитата Сообщение от Openreel Посмотреть сообщение
    Опыт разработки реальных больших проектов, можно(и даже лучше) не микроконтроллерных, в проф компании, вот это продвигает вперед сильно.
    У меня профессиональный опыт совсем не мк проектов. Настолько далеко от мк как это вообще может быть. Железяки, оси, С и мк это всё хобби.

    Совместно с этим
    Цитата Сообщение от Openreel Посмотреть сообщение
    легко можно словить граблей связанных с синхронизацией данных между тредами. Это обязательные основы для мелкоконтроллеров - там в реальном приложении может быть запросто 10-20 источников прерываний, а простых 2-3 источника
    Многопоточность вообще, синхронизация в частности и зачем это нужно, в голове обычного погромиста не укладываются никак(изза этого например 1С строго однопоточный, когда добавили фоновые задачи в 8ку - начался ад).

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

  14. #14
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    61
    Сообщений
    36,197

    По умолчанию Re: Подскажите начинающему где взять ума про мелкоконтроллеры

    Цитата Сообщение от l3VGV Посмотреть сообщение
    Вспоминаю 20 лет назад, когда нам на лекциях рассказывали как надо на ассемблерах делать всё, а на последней лекции были обзоры потуг С компиляторов для 8ми битных пиков и атмелов.
    Как раз примерно 20 лет назад, Си-компилятор для PICов стал "вменяемым", т.е. пригодным для использования в реальных а не учебных проектах (Hi-Tech C, остальное были детскими игрушками).
    До того я для PICов пользовался только ассемблером, а с тех пор не пользуюсь им вообще.
    AVR был первым в моей практике контроллером, для которого я сразу писал на Си и никогда не писал на асме.
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Ну что, можете меняться обратно."(с)типа анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  15. #15
    Частый гость Аватар для Dmitry_N
    Регистрация
    21.06.2017
    Адрес
    Москва
    Сообщений
    384

    По умолчанию Re: Подскажите начинающему где взять ума про мелкоконтроллеры

    Сейчас С компиляторы довольно совершенны (тот же IAR давно умеет оптимизировать код с учётом всех нюансов железки) и asm изучать стоит разве что из спортивного интереса.
    В целом умение писать под МК это умение работать с документацией. Знания в голове на долго не задерживаются в силу большого объёма информации.

  16. #16
    iN GOD We TRUSt Аватар для EDDiE
    Регистрация
    13.02.2006
    Сообщений
    13,139

    По умолчанию Re: Подскажите начинающему где взять ума про мелкоконтроллеры

    Помогите с программированием C/C++
    https://forum.vegalab.ru/showthread.php?t=84770&page=2

  17. #17
    Забанен (навсегда)
    Регистрация
    27.02.2005
    Адрес
    село Самбек
    Сообщений
    2,081

    По умолчанию Re: Подскажите начинающему где взять ума про мелкоконтроллеры

    Цитата Сообщение от Openreel Посмотреть сообщение
    Эффективным решением практических коммерческих задач.

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

  18. #18
    Завсегдатай Аватар для samodelkin
    Регистрация
    30.11.2005
    Адрес
    Москва, Геленджик, и еще дальше, где полицейских хрен встретишь...
    Сообщений
    1,338

    По умолчанию Re: Подскажите начинающему где взять ума про мелкоконтроллеры

    Цитата Сообщение от лысый Посмотреть сообщение
    И выяснилась любопытная вещь: такой специализации вполне достаточно, и при этом вообще не нужно лезть в дебри программирования. Ибо когда задача хорошо формализована, ни разу не проблема найти спеца, который быстро и недорого (ему не надо ни во что больше вникать) сочинит программу.
    - совершенно верно. Главное программист не будет претендовать на кусок пирога, не зная конечной цели работы.
    Всегда!!!

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •