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

 
 
22 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Getting started или faq по AVR
beer_warrior
сообщение Jun 21 2006, 09:03
Сообщение #1


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

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



По итогам длительной и малорезультативной борьбы с курсом [banned] , возникла идея вышибить клин, клином т.е. сделать документ освещающий основные аспекты работы с AVR.

Предварительный план и согласие нескольких человек присутсвует здесь:
http://electronix.ru/forum/index.php?showtopic=16503&st=165
план писался сходу, по впечетлениям от личных проблем, и вопросов возникающих у новичков в этом разделе.

В этой ветке хотелось бы увидеть коррективы к плану и список вопросов ответы на которые хотелось бы видеть в подобном документе.

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

Ну и желающие принять участие тоже приветствуются smile.gif


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
Amiran
сообщение Jun 21 2006, 09:30
Сообщение #2





Группа: Новичок
Сообщений: 1
Регистрация: 21-06-06
Пользователь №: 18 239



Предлагаю план:

1) где взять информацию по электронике, по МК, где купить компоненты и информацию о них, где найти части схем из которых можно скомпилировать свое устройство. где поcмотреть как правильно использовать компоненты.

2) Что такое МК. Особенности AVR - его содержимое. Как AVR интерпритирует внешние электрические сигналы и какие может создавать.

3) Обзор инструментальных средств - объективный.

4) Си для МК AVR - основные конструкции и короткие примеры для AVR

5) Примеры - от постановки задачи, через выбор решения и проработку алгоритма к результату. Основные методы отладки программ на примерах.
Go to the top of the page
 
+Quote Post
KykyryzzZ
сообщение Jun 21 2006, 11:53
Сообщение #3



***

Группа: Свой
Сообщений: 404
Регистрация: 20-10-05
Пользователь №: 9 885



2 beer_warrior :
Сам с AVR не работаю, но завалялась тут одна статейка, если подойдет - хорошо.
Называется Микроконтроллеры AVR. 7 ступеней. автор С.М. Рюмик.
Хотел прикрепить к посту, но 1.7Мб не проходит. могу скинуть на мыло. может выудите из нее что-нибудь полезное для ветки
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Jun 21 2006, 12:42
Сообщение #4


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

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Бросайте.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
Old1
сообщение Jun 21 2006, 18:45
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095



Цитата(beer_warrior @ Jun 21 2006, 12:03) *
По итогам длительной и малорезультативной борьбы с курсом [banned] , возникла идея вышибить клин, клином т.е. сделать документ освещающий основные аспекты работы с AVR.

Предварительный план и согласие нескольких человек присутсвует здесь:
http://electronix.ru/forum/index.php?showtopic=16503&st=165
план писался сходу, по впечетлениям от личных проблем, и вопросов возникающих у новичков в этом разделе.

В этой ветке хотелось бы увидеть коррективы к плану и список вопросов ответы на которые хотелось бы видеть в подобном документе.

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

Ну и желающие принять участие тоже приветствуются smile.gif

В первом пункте, думаю, немешало бы добавить краткое резюме по внутрисхемным эмуляторам.
И еще пожалуй стоит добавить раздел или подраздел, посвященный самопрограммированию контроллеров...
Go to the top of the page
 
+Quote Post
singlskv
сообщение Jun 21 2006, 21:24
Сообщение #6


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(Amiran @ Jun 21 2006, 13:30) *
Предлагаю план:

1) где взять информацию по электронике, по МК, где купить компоненты и информацию о них, где найти части схем из которых можно скомпилировать свое устройство. где поcмотреть как правильно использовать компоненты.

2) Что такое МК. Особенности AVR - его содержимое. Как AVR интерпритирует внешние электрические сигналы и какие может создавать.

3) Обзор инструментальных средств - объективный.

4) Си для МК AVR - основные конструкции и короткие примеры для AVR

5) Примеры - от постановки задачи, через выбор решения и проработку алгоритма к результату. Основные методы отладки программ на примерах.


ИМХО, здесь нехватает одного очень важного пункта для новичков:
n.) Как определить какие аппаратные средства(конкретно AVR) нам необходимы
и достаточны (в том числе для развития).
Пример:
Задача: Нужно помигать светодиодами.
Решение: Берем ATmega32/64/128... шутка

Мне кажется что для новичка это один из важных вопросов, какой МК
выбрать для начала (ну конечно в зависимости от типа задач).
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jun 22 2006, 01:55
Сообщение #7


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

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



Цитата(singlskv @ Jun 22 2006, 06:24) *
ИМХО, здесь нехватает одного очень важного пункта для новичков:
n.) Как определить какие аппаратные средства(конкретно AVR) нам необходимы
и достаточны (в том числе для развития).
Пример:
Задача: Нужно помигать светодиодами.
Решение: Берем ATmega32/64/128... шутка

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


ИМХО можно использовать ATmega16-16PI. DIP-корпус, легкий для монтажа. Не выская стоимость. Достаточно памяти - тем более, что новичку надо начинать обязательно с ассембелера, да и для СИ хватит на первых порах. Нет, в отличии от ATmega8, шанса "угробить" мегу неправлильной установкой бита RSTDSBL. Вот! smile.gif

В качестве обвязки (опять же сужу по-себе): 2 - 4 светодиода, 2 - 4 кнопки, MAX232. Все! Думаю хватит для первого времени. В дальнейшем к свободным выводам можно подцепить по мере "профессионального" роста LCD, датчик температуры и проч.

Вот, пока все))


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Jun 22 2006, 06:45
Сообщение #8


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

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



2 haker_fox: совершенно согласен, сам несколько лет назад спаял такую игрушку, для обкатывания разных абстракных задач.

2 Old1: Принимается.
Не хотители начеркать пару абзацев на эту тему - я внутрисхемной отладкой не пользуюсь, толком сказать ничего не могу.

2 singlskv: согласен, но если оценка по периферии ясна, как определить потребности в памяти, формализовать задачу,особенно по флэши.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jun 22 2006, 07:58
Сообщение #9


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(haker_fox @ Jun 22 2006, 04:55) *
что новичку надо начинать обязательно с ассембелера,

С этим я не согласен. Написать первое "махание ногой" на С гораздо проще - startup, вектора берет на себя компилятор. На этом этапе можно рассмотреть листинг. Вторым шагом можно подключить асм-функцию. Если начинать учить с ассемблера потом на С переползти будет довольно сложно: любая "лишняя" команда в листинге будет вызывать желание вернуться на асм, а осознание того, что этих "лишних" команд в общем объеме кода не так уж и много и что не всегда это фатально приходит ой как не сразу. Я например только пики и немного MSP430 изучал с асма. Потом узнал что для uC бывает С и для всех остальных процессоров (MSP430, x51, 68HC12, AVR, ARM) асм изучал по листингам компилятора.

Цитата
Нет, в отличии от ATmega8, шанса "угробить" мегу неправлильной установкой бита RSTDSBL. Вот! smile.gif
Это да. Но пункт "не убий" в FAQ внести надо обязательно. С описанием как это сделать разными программаторами и как потом чинить. Сюда же вписать переход на внешний кварц.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Proton
сообщение Jun 22 2006, 09:10
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 3-08-05
Из: Новосибирск
Пользователь №: 7 334



Цитата
Сергей Борщ
Написать первое "махание ногой" на С гораздо проще - startup, вектора берет на себя компилятор. На этом этапе можно рассмотреть листинг. Вторым шагом можно подключить асм-функцию. Если начинать учить с ассемблера потом на С переползти будет довольно сложно: любая "лишняя" команда в листинге будет вызывать желание вернуться на асм, а осознание того, что этих "лишних" команд в общем объеме кода не так уж и много и что не всегда это фатально приходит ой как не сразу.

Если начинать сразу с Си, то может не возникнуть желание изучать асм, что гораздо опаснее. Как пример - [banned], он начинал на Си и теперь не имеет ни малейшего желания изучать ассемблер. Поэтому всё-таки лучше начинать с ассемблера.

Цитата
KykyryzzZ
завалялась тут одна статейка, если подойдет - хорошо. Называется Микроконтроллеры AVR. 7 ступеней. автор С.М. Рюмик.

Надо выложить эту статью на ftp. Наверняка в ней имеется описание AVRStudio и примеры программ типа моргания светодиодами. Если же нет, то готов написать статью по этим темам.


--------------------
Всяк хорошая мысля к нам приходит опосля.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jun 22 2006, 09:31
Сообщение #11


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Proton @ Jun 22 2006, 12:10) *
Если начинать сразу с Си, то может не возникнуть желание изучать асм, что гораздо опаснее. Как пример - [banned], он начинал на Си и теперь не имеет ни малейшего желания изучать ассемблер. Поэтому всё-таки лучше начинать с ассемблера.
Тогда надо писать два варианта "Для тех кто видит МК впервые" и "для мигрирующих с асма или с другого проца".


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Jun 22 2006, 09:47
Сообщение #12


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

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Цитата
Тогда надо писать два варианта "Для тех кто видит МК впервые" и "для мигрирующих с асма или с другого проца".

Ну я ж в приципе из этого и исходил - по мере развития каждый стартует со своего раздела. Кому-нибудь понадобиться просто список литературы.
Я полагаю лучше, чем Atmel написать об ассемблере нельзя,
поэтому просто сослаться на соответсвующие документы и их переводы. Единственное, что надо хорошо выписать - это убийство фьюзами, обязательность ручной инициализации стека и прочие подобные грабли.
По части С сослаться на стандарт (на моей памяти уже раз 20 приводилась ссылка), и акцентировать внимание именно на АВР специфичных вещах - прерывания, модификаторы _flash _eeprom.
Способы передачи аргументов, makefile и скрипты линкеров.
Пожиратель памяти printf() и как его обойти. Возможно коснуться таких вещей как секция .init
WinAvr я мог бы взять на себя.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 22 2006, 10:39
Сообщение #13


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата
n.) Как определить какие аппаратные средства(конкретно AVR) нам необходимы
и достаточны (в том числе для развития).

Я думаю, что понимание придет само, а для начинающих лучшим советом будет такой как в описан в Novice's guide to AVR development:

So for your project you should select an AVR that only includes the features
that you need if you are on a strict budget. If you run your own budget you
should of course go for the biggest AVR possible, since eh... because!


Идею с курсом поддерживаю, мог бы на себя взять часть, посвященную работе с прерываниями в asm, C.
Go to the top of the page
 
+Quote Post
otrog
сообщение Jun 22 2006, 11:03
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 22-02-06
Из: Воронеж
Пользователь №: 14 589



Поддерживаю идею Getting started a14.gif .
Но всеже не согласен с тем, что начинать надо с ассемблера.
Сам начинал с Elab Pascal smile.gif + PonyProg. При этом интенсивно вчитываясь в DataSheet.
Помню освоился до первой говорилки (AT90S2313 + AT24c512 + PWM) примерно за два месяца. И это при том, что доступа в интернет практически небыло.
Почему выбрал Pascal? - Потому что не знал C.

Чем хорош именно Elab Pascal? - Наличием огромного числа библиотек.
Даже сейчас, когда надо срочно сваять простенькое устройство(со всякими там I2C и т.д.) в максимально короткий срок, пользуюсь им. А если проект расширяется, портирую его на C.

Еще по теме. Предлагаю сделать руководство на примерах. Например так:

Руководство AVR на примере создания многофункционального будильника.
1. Обработка нажатия клавиш(напр. нажал на клавишу - заморгал светодиод). Приводятся схема, исходник, комментарии и советы.
2. Получение звуковых эффектов с использованием ШИМ. ........ При этом используются ранее изученные клавиши(напр. нажал на клавишу - получил какой-нибудь звуковой эффект + заморгал светодиод).
3. Подключение символьного ЖКИ...........................
4. Подключение датчика температуры (напр. DS18S20)........
И т.д.

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


--------------------
Истина рождается в спорах; но когда страсти кипят, истина испаряется.
Go to the top of the page
 
+Quote Post
otrog
сообщение Jun 22 2006, 11:55
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 22-02-06
Из: Воронеж
Пользователь №: 14 589



Цитата(berpaks @ Jun 22 2006, 15:14) *
Это лучше сделать на примере апоикейшена AVR335 - цифровой диктофон - там есть п 1 и 2 - показав начинающему что можно и нужно использовать то что предлагает производитель компонента прежде чем изобретать велосипед.

ИМХО необходимо именно пошаговое объяснение каждого действия, и на русском. +Подробнейшие комментарии к каждой строчке исходника. И при этом не слишком усложнять исходник, дабы не потерять читабельность.
Еще можно в конце каждого шага добавить что-то типа задания для самостоятельного исполнения. Например для кнопок - было две, задание добавить еще две что бы, при нажатии на них, светодиод мигал как-нибудь по другому.


--------------------
Истина рождается в спорах; но когда страсти кипят, истина испаряется.
Go to the top of the page
 
+Quote Post

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

 


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


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