реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Помогите советом!
Sewer
сообщение Apr 1 2010, 07:05
Сообщение #1





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



Господа, помогите советом по следующим вопросам, пожалуйста! Хочу начать изучение микроконтроллеров AVR, в связи с этим:

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


Профессионал
*****

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



Цитата
Господа, помогите советом по следующим вопросам, пожалуйста! Хочу начать изучение микроконтроллеров AVR, в связи с этим:

1. На каком языке програмирования лучше сосредоточить внимание, Асемблер или С++? Асемблер быстрей, но сложней, С- нагляднее и вроде бы перспективнее, что посоветуете?


Начинайте с С но в свободное время почитывайте ассемблер (чтобы понимать во что компилятор превращает ваш Сишный код).

Цитата
2. Изучение МК я хочу начать только с использованием симуляторов ( без работы с "железом" на начальном этапе), это правильный подход для более быстрого обучения?


Правильный подход купить mega8535/mega8515/mega8 в dip-корпусе напаять на монтажной плате и собрать простейший программатор STK200.
Вдохновение прийдёт когда увидите как МК заставляе мигать светодиод с помощью написанной вами программы.

Цитата
3. Какие существуют ПО симулирующие работу МК, позволяющие написать программу, отладить ее, симулировать загрузку (компиляцию) в виртуальный МК и далее симулировать рабту МК с этой загруженой программой. Какое ПО можно посоветовать?


AVRStudio (на ассемблере), IAR. В IAR удобно отлаживать подпрограммы не связанные с работой перефирии. Симулировать переферию удобней в AVRStudio.
Go to the top of the page
 
+Quote Post
XVR
сообщение Apr 1 2010, 10:32
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



К п3 добавлю Proteus
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Apr 1 2010, 11:04
Сообщение #4


отэц
*****

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



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


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Apr 1 2010, 12:35
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Никаких CodeVisionov!!!
Даташит, Си, живой контроллер ATMEGA48, программатор на проводочках. И пара кнопок и пара светодиодов и один динамик.
IAR - как среда существования.
Ассемблер - знаю несколько систем команд для разных процессоров. Но так получилось, что для AVR руки не дошли глянуть даже на нее. Чисто так получилось. Даже точно не скажу сколько у него регистров (примерно только скажу).
Т.е. - обойтись вполне можно. Си стал круче бублика в этом плане.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Apr 1 2010, 23:55
Сообщение #6


Познающий...
******

Группа: Свой
Сообщений: 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.

А Вы чего хотите получить в результате?


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
Sewer
сообщение Apr 2 2010, 02:58
Сообщение #7





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



Большое спасибо за ответы, не ожидал такого хорошего отношения.
Цитата(haker_fox @ Apr 2 2010, 06:55) *
А Вы чего хотите получить в результате?

Хочу получить оцифрованый сигнал в виде удобном для его дальнейшей обработки с помощью LabView- т.е. в в память компьютера. Просто на выходе АЦП, как я понял, сигнал не похож ни на RS 232 ни на 485. Т.е. в моем случае МК работает преобразователем интерфейса между АЦП и портом компьютера. Вообще МК, как я понимаю, целесообразно использовать не для этих целей, а тогда, когда есть управление какой-либо перефирией. Мало того, я буду ограничен в скорости преобразований АЦП еще и быстродействием самого МК. Т.е. АЦП, как я понимаю, может работать на частоте превышающей частоту МК. И в этом случае МК исзодя из своей рабочей частоты будет запускать и останавливать АЦП. Т.е. МК будет звеном задающим скорость преобразований, а не АЦП. Исходя из всего этого, возможно, мне не нужен МК для этой цели, а нужно другое устройство, о котором я не знаю.

Сейчас ищу литературу по асемблеру, как я понял, версия асемблера должна быть совместима с AVR, как мне правильно выбрать книгу по асемблеру?
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Apr 2 2010, 06:07
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(Sewer @ Apr 2 2010, 06:58) *
Сейчас ищу литературу по асемблеру, как я понял, версия асемблера должна быть совместима с AVR, как мне правильно выбрать книгу по асемблеру?

"Практическое программирование AVR на ASM" - есть такая


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
Палыч
сообщение Apr 2 2010, 08:25
Сообщение #9


Гуру
******

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



Цитата(Sewer @ Apr 1 2010, 10:05) *
Господа, помогите советом по следующим вопросам, пожалуйста!

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


отэц
*****

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



Цитата
Никаких CodeVisionov!!!


..не слушайте их , пока разгребёте как сконфигурировать уарт, ацп и и принять что-нибудь осмысленное , пропадёт желание изучать МК .
Ставьте CodeVision , получайте первые положительные эмоции от живого общения с МК . А потом можно и внутрь нырять , с головой.

CodeVision + Proteus - для начала хватит , но конечно всё равно обязательно нужно купить или собрать живую плату , симуляторы могут и глючить.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Apr 2 2010, 09:49
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(Lmx2315 @ Apr 2 2010, 12:17) *
..не слушайте их , пока разгребёте как сконфигурировать уарт, ацп и и принять что-нибудь осмысленное , пропадёт желание изучать МК .
Ставьте CodeVision , получайте первые положительные эмоции от живого общения с МК . А потом можно и внутрь нырять , с головой.

CodeVision + Proteus - для начала хватит , но конечно всё равно обязательно нужно купить или собрать живую плату , симуляторы могут и глючить.

Не проецируйте свой уровень интелекта на другого человека.

Осмыслить любой узел грамотного даташита на МК - 15-20 минут. Зато сразу очевидны все возможности данного узла. Это понадобится не только и не столько для данного проекта, сколько вообще. Это гарантия, что следующее изделие будет спроектировано сразу с пониманием самого МК. Только один таймер можно инициализировать десятками способов. Сколько мы видем постов, что люди не имеют ни малейшего понимания его работы? "Как запрограммировать таймер, чтобы измерить частоту?" - такие вопросы просто поражают. 15 минут чтения - и вы будете сами давать советы! А если пользоваться визардом, то будете постоянным участником раздела "начинающие".

Не облегчайте себе жизнь, а то добъётесь обратного эффекта. Это касается визардов, симуляторов, генераторов кода и прочей синтетической хрени. Помните, что успешный сэкс с резиновой женщиной не поможет вам стать любимцем женщин.
smile.gif
Go to the top of the page
 
+Quote Post
Палыч
сообщение Apr 2 2010, 10:24
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 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 с его визардом - огромный вред! Кроме того, через некоторое врямя (как накопится некоторое количество проектов) перейти на другой транслятор становится большой проблемой (это - уже по собственному опыту...).
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Apr 2 2010, 10:31
Сообщение #13


отэц
*****

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



Цитата(SasaVitebsk @ Apr 2 2010, 13:49) *
Не проецируйте свой уровень интелекта на другого человека.


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


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Apr 4 2010, 18:48
Сообщение #14


неотягощённый злом
******

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



Цитата(Lmx2315 @ Apr 2 2010, 14:31) *
..я не считаю окружающих глупее себя , вам такой манеры поведения не навязываю .
Давать оценки другим это конечно же чревато разными последствиями...
Но CV-это не то на чём стоит начинать изучать Си.
Да. Для того чтобы посмотреть "C чего начинается Родина" это сойдёт, но не более.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
0b11011110
сообщение Aug 3 2011, 10:24
Сообщение #15





Группа: Новичок
Сообщений: 7
Регистрация: 21-06-11
Из: г. Усолье-Сибирское Иркутской обл.
Пользователь №: 65 813



Лично для меня изучение контроллеров начиналось с "ОЧЕНЬ ВЫСОКОГО" языка програмирования, такого как С++ для ARDUINO. sm.gif
Постпенно при работе с этим языком начинаешь понимать всю ограниченность своих знаний, в процессе усложнения Ваших запросов к конкретному микроконтроллеру. И тут наступает такой момент, когда выше бежать уже некуда, а поставленная задача требует решения. Что тут тогда остаётся делать???
Ответ тут только один. Спускаться сразу в подвал и изучать механизм работы вашего контроллера.
В этом вам поможет ни всякие конструкторы вроде VB и т.п. а наш старый добрый "голый ASM".
Вооружившсь парой-тройкой рускоязычных книжек по програмированию AVR на ASM, AVRstudio, терпением, усидчивостью и большим количеством времени я не сомневаюсь Вы достигните успеха! ИМХО! sm.gif

Сообщение отредактировал 0b11011110 - Aug 3 2011, 10:25
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 8th July 2025 - 08:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.01493 секунд с 7
ELECTRONIX ©2004-2016