Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (17)

Лучшие ответы пользователя

Все ответы (33)
  • Необходимые знания для embedded developer'a?

    @LampTester
    Начать хочу с самых ранних азов.


    Правильно. Если хотите стать профессионалом, начинать надо с базовой теории. "Нет царских путей в геометрию".

    Интересуют так же такие вещи как: стоит ли учится писать сценарии программ для Arduino, сможет ли это помочь абстрагироваться в выбранной сфере разработки и получить те самые азы?


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

    Нужно ли учиться паять и разбираться в микросхемах, теристорах, тестерах и прочем железе что бы работать embedded программистом?


    Да, обязательно. Хороший embedded-программист сам должен быть способен разрабатывать железо. Более того, в не слишком сложных проектах (или в очень критичных по оптимальности решения) разработчик железа и программист - один и тот же человек.

    Вообще, embedded-программист - в большей степени электронщик (где-то на 80%, или даже больше), чем программист.

    Нужны ли знания программирования под линукс? Читая вакансии не один раз встречал требования знания работы с линукс.


    Опционально, будет плюсом.

    Что касается процесса обучения, то он примерно идентичен процессу обучения инженера-электронщика.

    1. Полный курс общей физики. Обязательно. Без него никуда, это база всего. После него отпадают 98% элементарных вопросов и появляется стройная картина мира. Математика - без фанатизма, но в достаточном объеме, чтобы понимать курс физики.
    2. Базовый курс конкретно электроники. Здесь можно посмотреть в сторону классики - Горовиц и Хилл первое, что приходит на ум.
    3. Программирование. Без фанатизма. Ночами штудировать численные методы и заучивать классичесские алгоритмы не надо (хотя представлять, как работает, например, метод Рунге-Кутта будет полезно), но выработать навыки алгоритмизации требуется обязательно. На эту тему полно туториалов, гораздо больше, чем по электронике.
    4. Обработка сигнала тоже нужна. В написании программ для контроллеров всякие цифровые фильтры встречаются очень часто (особенно при обработке сигнала с датчиков), надо бы представлять, как работают методы ЦОС.
    5. Специальные вопросы. Архитектура контроллеров, стандартные интерфейсы и т.п. Это уже по необходимости.

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

    Но самое главное - желание. Только оно может обеспечить достаточный объем практики.
    Ответ написан
    3 комментария
  • Как научиться понимать английский язык на слух? Это вообще возможно?

    @LampTester
    Ну, во-первых, да, научиться понимать в принципе возможно. :) Мне тоже сначала казалось, что это вообще нереально.

    1. Как уже говорилось - нафиг субтитры. Они наоборот отвлекают. Реально действенный метод для старта - песни. Слушаете песню, пытаетесь услышать и понять максимум, потом читаете ее текст, потом слушаете снова (не глядя в текст). Вы удивитесь, но после этого вы поймете в ней процентов 50 или даже больше, если только это не совсем хардкорный рэп. :)

    2. Ролики на YouTube, снятые американцами, австралийцами или шотландцами. Это из носителей языка. Не знаю, как кому, но мне эти акценты наиболее понятны. Вообще, часто речь не-носителей еще более понятна. Сначала вы, может быть, будете понимать около 20% произносимого - не пугайтесь, просто слушайте дальше и пытайтесь догадаться по контексту. Через некоторое время вы станете понимать 30%, 50%, 70%...

    Важно - песни должны нравиться, ролики должны быть интересны прежде всего своим содержанием. Иначе просто не будет мотивации для достаточного погружения.

    Могу порекомендовать YouTube-каналы Big Clive, Chief MAKOi. Они говорят не слишком быстро, но и не так рафинированно, как на записи, прилагаемой к учебнику. Это нормальная английская речь в умеренном разговорном темпе.

    Совет выше насчет англоязычного радио тоже дельный.

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

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

    И главное - не отчаивайтесь в начале пути. Как верно сказали выше - это просто тренировка мозга. Пройдет время, и это умение появится, если вы будете достаточно регулярно тренироваться.
    Ответ написан
    Комментировать
  • Как реализовать измерение тока на ардуино?

    @LampTester
    Я бы не делал управление ТАКИМ на Arduino. При таких мощностях и электромагнитные поля/выбросы соответствующие, на которые игрушечная ардуина явно не расчитана. Здесь надо хорошо подумать над конструкцией платы, гальванической развязкой всего, чего можно, фильтрацией питания и т.п. Иначе есть шанс, что при первом броске контроллер повиснет, с непредсказуемыми последствиями.
    Ответ написан
    Комментировать
  • Почему может не вызываться прерывание?

    @LampTester
    Используйте NVIC_EnableIRQ() вместо __enable_irq(). В ARM прерывания включаются именно так.

    И да, определите обработчик, если еще не сделали этого. Просто скопируйте (но не убирайте его из исходного места!) нужное имя из startup_xxx.S в main.c, оформив его как функцию.

    void SysTick_Handler(void)
    {
    }
    Ответ написан
    Комментировать
  • Что представляет из себя программирование МК STM?

    @LampTester
    Сразу скажу, что STM32 - не лучшая архитектура для начала освоения МК по причине того, что она достаточно продвинута, платой за что является относительно большая сложность многих действий, которые на тех же AVR, скажем, делаются гораздо проще. Другая причина - политика самой STMicroelectronics, не поощряющая глубокое изучение, и нацеленная либо на поверхностный подход "здесь и сейчас", либо на уже достаточно опытных специалистов.

    В целом STM32 идеологически ничем не отличается от всех остальных контроллеров.

    Если вы хотите начать изучать программируемую элементную базу, я бы рекомендовал начинать с AVR (но только не с Ардуино, если вы хотите достичь серьезного понимания).
    Ответ написан
    Комментировать