С чего начать?[решено]

Тема в разделе "Микроконтроллеры AVR", создана пользователем Егор рубайло, 7 янв 2018.

  1. Амперчане у меня такой вопрос .
    Мне 13 лет я умею писать под дуину знаю java and js но не знаю асм и хочу начать писать под чистую avr с чего начать? Где выучить асм ? (Я знаю что на сях тоже можно (на них и хочу писать)) Посоветуйте программатор, Мк , проги. Заранее благодарю.
     
    sdfg нравится это.
  2. Airbus

    Airbus Радиохулиган Модератор

    Что значит под чистую AVR?Без бутлоадера?На си писать можно прям в Ардуино IDE можно в кодвижн можно в AVRСтудии там же кстати можно писать компилить и в ассемблере.Шить тоже можно оттуда же есть свой плагин как и у Кодвижн.Для прошивки Казарма Дудка Унипроф.
     
    Последнее редактирование: 7 янв 2018
    sdfg и NikitOS нравится это.
  3. Airbus

    Airbus Радиохулиган Модератор

    Но сначала лучше прочитать учебный курс от Di Halt там есть все ответы на Ваши вопросы.читать нужно всё и вдумчиво.Очень интересно.
     
  4. NikitOS

    NikitOS Король шутов Администратор

    У Вас много "хочу".... Сложно понять что Вам надо...

    И возраст как-бы не важен если понимаете
     
    sdfg нравится это.
  5. Airbus

    Airbus Радиохулиган Модератор

    Еще один вырос из Ардуино.....
     
    sdfg и БАРМАТОГРАФ нравится это.
  6. NikitOS

    NikitOS Король шутов Администратор

    Вы обо мне??:confused:
     
    sdfg нравится это.
  7. Airbus

    Airbus Радиохулиган Модератор

    А Вы то тут при чем? О топикстартере.Он же хочет кодить по серьезному.
     
    sdfg нравится это.
  8. NikitOS

    NikitOS Король шутов Администратор

    Значит я не так понял....
     
  9. Хочу одно писать под avr:(
     
  10. ostrov

    ostrov Гуру

    Начни с мини-проектов из вики Амперки. Там все на Си, хорошее начало.
     
    NikitOS нравится это.
  11. koteika

    koteika Гик

    Ассемблер сьест все мозги, пока придет понимание что и как делать. По асму рекомендую почитать статьи ДиХалта. Вот ссылка на статьи http://easyelectronics.ru/category/avr-uchebnyj-kurs/page/5

    А так желательно начать с си, по крайней мере не пропадет интерес.
     
    NikitOS нравится это.
  12. Vladimir71

    Vladimir71 Нерд

    Что бы писать на ассемблере тебе нужно знать саму внутренность микроконтроллера. Нужно разобраться с регистрами, не только РОН, но и все остальные, которые управляют работой того или иного устройсва микроконтроллера. Ассемблер чем то схож с Си. Много команд в ассемблере нет, которые присутсвуют в СИ. Что бы выполнить определенные команды СИ, нужно выполнить кучу команд на ассеблере. Со всем этим нужно разбираться.
    Я начинал с простой книги (правда по пикам, но разницы нет) описания по микроконтроллерам. По сути дела она являлась обычным даташитом. Поэтому можешь найти даташит, если с английским не очень, то конечно на русском языке. Только искать нужно полный даташит, а не пару страниц. Там все написано. К примеру хочешь использовать АЦП. Находишь в даташите раздел и читаешь. Там будет написано, как инициализируется АЦП, какие регистры и какие биты оно использует, как стартует и куда что пишет, как используется прерывание и все так далее. И так про каждую часть мк.
    С этим тебе нужно будет разобраться и понимать. Ну а само написание программы, постройка алгоритма думаю не сильно будет отличаться от СИ. Конечно, в каждом языке есть свои хитрости, но это со временем разберешься. И конечно учти, что микроконтроллеры отличаются друг от друга. У всех разное количество команд, наличие разных устройств и т.д. На асме сложно писать, поэтому в основном пишут на других языках иногда используя вставки асм.
    Из многих книг мне понравилась Revich._Assembler_AVR. мне было интересно и что-то новое для себя нашел.
    Из ПО мне нравится AVR Studio. Она конечно сложная, даже можно сказать очень сложная. В ней можно писать программы, отлаживать, прошивать контроллер. Хорошо искать ошибки. Я не имею ввиду, что это лучшая, как говорится на вкус и цвет .... но мне нравится.
    Так что читай, разбирайся, учись. Удачи.
     
    Airbus нравится это.
  13. спасибо vladimir71 вы мне оч помогли
     
  14. DetSimen

    DetSimen Guest

    Я тебе даже больше скажу, в ассемблере НЕТ НИ ОДНОЙ команды, которые есть в С.
     
    brokly нравится это.
  15. Ну в мир мк я вошел с ардуино :) но за год до этого начал читать книги по программированию. Много :)
    С++, Java, Python... Первой книгой был "С для чайников" :) потом стал читать и для кипятильников :)
    Но понравился только С и С++ :) Сейчас пришлось Java заняться
     
  16. Airbus

    Airbus Радиохулиган Модератор

    Регистрами управлять одинаково.Только синтаксис разный.В си простое присвоение = в асме загрузка в r16 как правило и с него уже в регистр.
     
  17. Vladimir71

    Vladimir71 Нерд

    Вы конечно можете это сказать, но любая команда на С состоит из команд на ассемблере. Ну ладно, что бы вы не развивали теорию языков, то напишу подробнее. У каждого контроллера есть команды в двоичном коде, которые он понимает. Асемблер, это мнемоника команд, то есть каждой команде асемблера соответствует определенный код команды и их овно столько, сколько знает команд контроллер. Если есть команда сложить, то контроллер и понимает сложить, а если нет умножить, то такой команды контроллер и не понимает. Что касается Си, то у нее есть команда умножить, но контроллер её не понимает и она состоит из кучи последовательностей кодов, который понимает контроллер, а это тот же самый ассемблер. Я имел ввиду это, но не мнемонику команд.
     
  18. DetSimen

    DetSimen Guest

    Простите Владимир, я программирую на ассемблере 8080 - IA32 с 1990 года, мне это объяснять не надо.
     
  19. brokly

    brokly Гик

    Если программа написана на бейсике и откомпилирована , то, Владимир, вы будете удивлены, но любая команда на Бейсике состоит из команд на ассемблере :) И это можно сказать о любом компиляторе, что любая откомпилированная программа состоит из последовательности кода, который может быть представлен ассемблерными командами. Только это вовсе не говорит о "похожести" бейсика или си на ассемблер :)
     
  20. Vladimir71

    Vladimir71 Нерд

    тогда причем здесь ответ про каманды
    а объяснил я это просто для тех, не не знает. А кто здесь программист кто нет не написано.
    Вы сообщения читаете или просто просматриваете
    Что касается сравнения Бейсика и С, то это совершенно разные языки, чем С и ассемблер.