|
Помогите советом! |
|
|
|
Apr 1 2010, 07:05
|
Группа: Новичок
Сообщений: 2
Регистрация: 31-03-10
Пользователь №: 56 312

|
Господа, помогите советом по следующим вопросам, пожалуйста! Хочу начать изучение микроконтроллеров AVR, в связи с этим:
1. На каком языке програмирования лучше сосредоточить внимание, Асемблер или С++? Асемблер быстрей, но сложней, С- нагляднее и вроде бы перспективнее, что посоветуете? 2. Изучение МК я хочу начать только с использованием симуляторов ( без работы с "железом" на начальном этапе), это правильный подход для более быстрого обучения? 3. Какие существуют ПО симулирующие работу МК, позволяющие написать программу, отладить ее, симулировать загрузку (компиляцию) в виртуальный МК и далее симулировать рабту МК с этой загруженой программой. Какое ПО можно посоветовать? 4. Существуют ли другие устройства для передачи данных из АЦП в компьютер (частота дискретезации АЦП 1.5кГц, разрядность 8) кроме микроконтроллера? Тоесть может ли АЦП напрямую(либо через какое-либо устройство) работать с каким -либо портом компьютера или обязательно для этого нужен МК?
|
|
|
|
|
Apr 1 2010, 07:33
|

Профессионал
    
Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409

|
Цитата Господа, помогите советом по следующим вопросам, пожалуйста! Хочу начать изучение микроконтроллеров AVR, в связи с этим:
1. На каком языке програмирования лучше сосредоточить внимание, Асемблер или С++? Асемблер быстрей, но сложней, С- нагляднее и вроде бы перспективнее, что посоветуете? Начинайте с С но в свободное время почитывайте ассемблер (чтобы понимать во что компилятор превращает ваш Сишный код). Цитата 2. Изучение МК я хочу начать только с использованием симуляторов ( без работы с "железом" на начальном этапе), это правильный подход для более быстрого обучения? Правильный подход купить mega8535/mega8515/mega8 в dip-корпусе напаять на монтажной плате и собрать простейший программатор STK200. Вдохновение прийдёт когда увидите как МК заставляе мигать светодиод с помощью написанной вами программы. Цитата 3. Какие существуют ПО симулирующие работу МК, позволяющие написать программу, отладить ее, симулировать загрузку (компиляцию) в виртуальный МК и далее симулировать рабту МК с этой загруженой программой. Какое ПО можно посоветовать? AVRStudio (на ассемблере), IAR. В IAR удобно отлаживать подпрограммы не связанные с работой перефирии. Симулировать переферию удобней в AVRStudio.
|
|
|
|
|
Apr 1 2010, 23:55
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
Цитата(Sewer @ Apr 1 2010, 16:05)  1. На каком языке програмирования лучше сосредоточить внимание, Асемблер или С++? Асемблер быстрей, но сложней, С- нагляднее и вроде бы перспективнее, что посоветуете? Если это Ваш первый МК, то начните с ассемблера. Изучите архитектуру микроконтроллера. Программирование на ассемблере поможет в этом. Если Вы уже знаете какой-либо МК, можно и с Си стартовать. Хотя я бы посоветовал даже Си++. Цитата(Sewer @ Apr 1 2010, 16:05)  2. Изучение МК я хочу начать только с использованием симуляторов ( без работы с "железом" на начальном этапе), это правильный подход для более быстрого обучения? Не совсем правильный подход. Начать можно и с симулятора, но сильно увлекаться им не нужно. Пока паяете макетку с микроконтроллером, можете работать с симулятором. После того, как сделаете плату, симулятор может служить лишь как вспомогательный инструмент, который поможет разобраться как работает программа. Постепенно от симулятора придется уйти и использовать другие средства отладки (мигание светодиодом, вывод информации через последовательный порт и т.п.), но это отдельная тема. Цитата(Sewer @ Apr 1 2010, 16:05)  3. Какие существуют ПО симулирующие работу МК, позволяющие написать программу, отладить ее, симулировать загрузку (компиляцию) в виртуальный МК и далее симулировать рабту МК с этой загруженой программой. Какое ПО можно посоветовать? Для AVR берите бесплатную AVR Studio с www.atmel.com Цитата(Sewer @ Apr 1 2010, 16:05)  4. Существуют ли другие устройства для передачи данных из АЦП в компьютер (частота дискретезации АЦП 1.5кГц, разрядность 8) кроме микроконтроллера? Тоесть может ли АЦП напрямую(либо через какое-либо устройство) работать с каким -либо портом компьютера или обязательно для этого нужен МК? Может. Например с LPT. А Вы чего хотите получить в результате?
--------------------
Выбор.
|
|
|
|
|
Apr 2 2010, 02:58
|
Группа: Новичок
Сообщений: 2
Регистрация: 31-03-10
Пользователь №: 56 312

|
Большое спасибо за ответы, не ожидал такого хорошего отношения. Цитата(haker_fox @ Apr 2 2010, 06:55)  А Вы чего хотите получить в результате? Хочу получить оцифрованый сигнал в виде удобном для его дальнейшей обработки с помощью LabView- т.е. в в память компьютера. Просто на выходе АЦП, как я понял, сигнал не похож ни на RS 232 ни на 485. Т.е. в моем случае МК работает преобразователем интерфейса между АЦП и портом компьютера. Вообще МК, как я понимаю, целесообразно использовать не для этих целей, а тогда, когда есть управление какой-либо перефирией. Мало того, я буду ограничен в скорости преобразований АЦП еще и быстродействием самого МК. Т.е. АЦП, как я понимаю, может работать на частоте превышающей частоту МК. И в этом случае МК исзодя из своей рабочей частоты будет запускать и останавливать АЦП. Т.е. МК будет звеном задающим скорость преобразований, а не АЦП. Исходя из всего этого, возможно, мне не нужен МК для этой цели, а нужно другое устройство, о котором я не знаю. Сейчас ищу литературу по асемблеру, как я понял, версия асемблера должна быть совместима с AVR, как мне правильно выбрать книгу по асемблеру?
|
|
|
|
|
Apr 2 2010, 08:25
|

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Цитата(Sewer @ Apr 1 2010, 10:05)  Господа, помогите советом по следующим вопросам, пожалуйста! 1. Лучше сосредоточить внимание на С (но - не на С++ - ИМХО, для микроконтроллеров С++ - это, зачастую, слишком высокий уровень языка). Параллельно - ассемблер (не обязательно чтобы на нём писать программы, даже, скорее, чтобы НЕписать на нём прогараммы - но(!), чтобы понимать возможности AVR). 2. Симуляторы - это дешёвый подход к изучению МК, но лучше, всё-таки, - "в железе" (т.е. собрать макетку и JTAG+AVRStudio). 3. Для симуляции МК AVR - однозначно: AVRStudio. 4. Наверное, и сами сможите ответить на этот вопрос (достаточно посмотреть на внешние разъёмы компьютера и положить перед собой документацию на выбранные Вами АЦП).
|
|
|
|
|
Apr 2 2010, 09:17
|

отэц
    
Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684

|
Цитата Никаких CodeVisionov!!! ..не слушайте их , пока разгребёте как сконфигурировать уарт, ацп и и принять что-нибудь осмысленное , пропадёт желание изучать МК . Ставьте CodeVision , получайте первые положительные эмоции от живого общения с МК . А потом можно и внутрь нырять , с головой. CodeVision + Proteus - для начала хватит , но конечно всё равно обязательно нужно купить или собрать живую плату , симуляторы могут и глючить.
--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0 SHA-256
|
|
|
|
|
Apr 2 2010, 09:49
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(Lmx2315 @ Apr 2 2010, 12:17)  ..не слушайте их , пока разгребёте как сконфигурировать уарт, ацп и и принять что-нибудь осмысленное , пропадёт желание изучать МК . Ставьте CodeVision , получайте первые положительные эмоции от живого общения с МК . А потом можно и внутрь нырять , с головой.
CodeVision + Proteus - для начала хватит , но конечно всё равно обязательно нужно купить или собрать живую плату , симуляторы могут и глючить. Не проецируйте свой уровень интелекта на другого человека. Осмыслить любой узел грамотного даташита на МК - 15-20 минут. Зато сразу очевидны все возможности данного узла. Это понадобится не только и не столько для данного проекта, сколько вообще. Это гарантия, что следующее изделие будет спроектировано сразу с пониманием самого МК. Только один таймер можно инициализировать десятками способов. Сколько мы видем постов, что люди не имеют ни малейшего понимания его работы? "Как запрограммировать таймер, чтобы измерить частоту?" - такие вопросы просто поражают. 15 минут чтения - и вы будете сами давать советы! А если пользоваться визардом, то будете постоянным участником раздела "начинающие". Не облегчайте себе жизнь, а то добъётесь обратного эффекта. Это касается визардов, симуляторов, генераторов кода и прочей синтетической хрени. Помните, что успешный сэкс с резиновой женщиной не поможет вам стать любимцем женщин.
|
|
|
|
|
Apr 2 2010, 10:24
|

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Цитата(DpInRock @ Apr 1 2010, 15:35)  Никаких CodeVisionov!!! Цитата(Lmx2315 @ Apr 2 2010, 12:17)  ..не слушайте их ... Ставьте CodeVision ... Присоединюсь к противникам CodeVision. К сожалению, стандарт языка С не учитывает особенностей МК, поэтому в разных трансляторах реализованы расширения языка С. Зачастую программы написанные для одного транслятора не понимаются другим транслятором. Среди трансляторов - лидер IAR (его, наверное, и следует пробовать, хотя для новичка - несколько тяжеловат). Если Ваше изучение AVR не предпологает поверхностное его изучение (т.е. для профессионального использования, или для любительского, но с профессиональным качеством), то CodeVision с его визардом - огромный вред! Кроме того, через некоторое врямя (как накопится некоторое количество проектов) перейти на другой транслятор становится большой проблемой (это - уже по собственному опыту...).
|
|
|
|
|
Apr 4 2010, 18:48
|

неотягощённый злом
     
Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643

|
Цитата(Lmx2315 @ Apr 2 2010, 14:31)  ..я не считаю окружающих глупее себя , вам такой манеры поведения не навязываю . Давать оценки другим это конечно же чревато разными последствиями... Но CV-это не то на чём стоит начинать изучать Си. Да. Для того чтобы посмотреть "C чего начинается Родина" это сойдёт, но не более.
--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
|
|
|
|
|
Aug 3 2011, 10:24
|
Группа: Новичок
Сообщений: 7
Регистрация: 21-06-11
Из: г. Усолье-Сибирское Иркутской обл.
Пользователь №: 65 813

|
Лично для меня изучение контроллеров начиналось с " ОЧЕНЬ ВЫСОКОГО" языка програмирования, такого как С++ для ARDUINO.  Постпенно при работе с этим языком начинаешь понимать всю ограниченность своих знаний, в процессе усложнения Ваших запросов к конкретному микроконтроллеру. И тут наступает такой момент, когда выше бежать уже некуда, а поставленная задача требует решения. Что тут тогда остаётся делать??? Ответ тут только один. Спускаться сразу в подвал и изучать механизм работы вашего контроллера. В этом вам поможет ни всякие конструкторы вроде VB и т.п. а наш старый добрый " голый ASM". Вооружившсь парой-тройкой рускоязычных книжек по програмированию AVR на ASM, AVRstudio, терпением, усидчивостью и большим количеством времени я не сомневаюсь Вы достигните успеха! ИМХО!
Сообщение отредактировал 0b11011110 - Aug 3 2011, 10:25
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|