Как начать программировать контроллеры на Си?

Тема в разделе "Микроконтроллеры AVR", создана пользователем Автобус №6, 19 авг 2016.

  1. Добрый день!
    Возникла потребность отказаться от Arduino и от wiring, первые шаги взял отсюда.
    Уперся в сложности работы с АЦП, здесь прочитал что для 328p не ADCSR, а ADCSRA. Ну и прочие мелочи...

    Нет ли каких-нибудь книжек по данной теме? Ну или как начать? Просто на дуньке программировать просто, а на avr сложнее...
     
  2. Alex19

    Alex19 Гуру

    Посмотрите тут - http://forum.amperka.ru/threads/Книги-для-начинающих.2344/.

    Мне так же понравились данные ресурсы - http://chipenable.ru/, http://easyelectronics.ru/, в прочем их не мало.

    По Atmega328p, кроме официального pdf - http://www.atmel.com/images/Atmel-8...PA-168A-168PA-328-328P_datasheet_Complete.pdf (лучший источник), есть не плохой сайт по регистрам на Atmega328 на русском - http://avrprog.blogspot.com.by/search/label/ATmega328, к примеру по ADC - http://avrprog.blogspot.com.by/2013/03/blog-post_13.html.

    И одна из библиотек для ADC, первый вариант - http://forum.amperka.ru/threads/Простые-примеры-adc-1-wire.6438/, второй вариант ее же https://github.com/SimpleRov/AVR/tree/master/ADC.
     
  3. Airbus

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

    WINAWR это конечно наше всё но я его не люблю почему то.То ли за сложность то ли за makefile о котором каждый раз забываю.А пишу в Кодвижн CVAVR. Там и тупой разберётся.И шить можно оттуда и трассировать если есть AVR Студия.А вообще если хотите досконально и во всём разобраться то начать надо с Ассемблера.Потом будет понятно что и куда идёт что и где переключает.
     
    Последнее редактирование: 20 авг 2016
  4. Onkel

    Onkel Гуру

    поддержу колегу- Code Vision рулит, есть бесплатная версия с ограниченным ресурсом и без визарда, но он и официальный всего 200 баксов.
    С асма не рекомендую начинать, мне например за свою жизнь (не считая бурной молодости с электрониками двк и emg666) только два раза понадобилось писать фрагмент на асме, для проприетарного протокола Color Kinetics и для NRZ800 (sw2812) , но если захотите освоить асм - рекомендую ревича.
     
  5. ostrov

    ostrov Гуру

    AVR Studio?
     
  6. Airbus

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

    А я начал изучение с ассемблера именно с книжки Ревича-кстати отличная вещь!Написать простые программы помигать лампочкой-попищать самое ОНО!Да и работа с USART ИМХО проще на асме (а я увлекался тогда GSM сигнализациями)Потом был Си и Шпак.Тоже неплохая вещица скажу я Вам-там параллельно показывается как писать под АВР и ПИК На диске WINAWR и CodvisionAVR и много чего вкусного.Освоить Си было уже легче потому как знал уже все регистры кто за что отвечает (А асм это работа с регистрами напрямую) Всё равно чтобы осмысленно писать на Си с регистрами надо будет дружить и понимать что за что отвечает.То же и с таймерами и с прерываниями.Вот только синтаксис написания другой.
    Но когда понимаешь что куда проще вычислить косяк.
     
    Alex19 нравится это.
  7. Alex19

    Alex19 Гуру

    Спасибо, что делитесь опытом изучения, книгами.
     
  8. Airbus

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

    Есть ещё книга у Белова "Разработка устройств на микроконтроллерах AVR" там идёт от простого к сложному и параллельно на Си и Асме так что можно сразу 2 языка выучить.Я бы даже с Белова начал но вот не попался он мне вовремя.
    А в чём собсно проблема?Я например подсел на Ардуино уже имея опыт написания как на Асме так и наСи.Но не из за wiring а из за огромного числа Шилдов и возможности собрать прям на коленке готовое устройство (не подумайте плохого я уже 30 лет с паяльником по Жизни и запаяю если надо SMD компонент сварочным аппаратом))) и впихнуть в него код да пусть даже не оптимальный и громоздкий но работающий.Иногда когда обуревает Лень сам пишу на wiring такие вещи как Serial.begin(9600); или LiquidCrystal lcd(8, 9, 4, 5, 6, 7 ); а на чистом/голом Си пришлось бы в первом случае настраивать три регистра а во втором лезть в Lcd.h и "править" порты ввода-вывода на LCD или мучаться с разведением дорожек на плате используя "стандартные" хидеры.Поэтому тут как посмотреть
     
    MadHorse и Alex19 нравится это.