|
Getting started или faq по AVR |
|
|
|
Jun 21 2006, 09:03
|

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

|
По итогам длительной и малорезультативной борьбы с курсом [banned] , возникла идея вышибить клин, клином т.е. сделать документ освещающий основные аспекты работы с AVR. Предварительный план и согласие нескольких человек присутсвует здесь: http://electronix.ru/forum/index.php?showtopic=16503&st=165план писался сходу, по впечетлениям от личных проблем, и вопросов возникающих у новичков в этом разделе. В этой ветке хотелось бы увидеть коррективы к плану и список вопросов ответы на которые хотелось бы видеть в подобном документе. Особо хотелось бы видеть вопросы новичков, ибо вещи которые кажутся опытному человеку самими собой разумеющимися, для новичка могут представлять собой непреодолимую проблему. Ну и желающие принять участие тоже приветствуются
--------------------
Вони шукають те, чого нема, Щоб довести, що його не існує.
|
|
|
|
|
Jun 21 2006, 09:30
|
Группа: Новичок
Сообщений: 1
Регистрация: 21-06-06
Пользователь №: 18 239

|
Предлагаю план:
1) где взять информацию по электронике, по МК, где купить компоненты и информацию о них, где найти части схем из которых можно скомпилировать свое устройство. где поcмотреть как правильно использовать компоненты.
2) Что такое МК. Особенности AVR - его содержимое. Как AVR интерпритирует внешние электрические сигналы и какие может создавать.
3) Обзор инструментальных средств - объективный.
4) Си для МК AVR - основные конструкции и короткие примеры для AVR
5) Примеры - от постановки задачи, через выбор решения и проработку алгоритма к результату. Основные методы отладки программ на примерах.
|
|
|
|
|
Jun 21 2006, 18:45
|

Знающий
   
Группа: Свой
Сообщений: 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план писался сходу, по впечетлениям от личных проблем, и вопросов возникающих у новичков в этом разделе. В этой ветке хотелось бы увидеть коррективы к плану и список вопросов ответы на которые хотелось бы видеть в подобном документе. Особо хотелось бы видеть вопросы новичков, ибо вещи которые кажутся опытному человеку самими собой разумеющимися, для новичка могут представлять собой непреодолимую проблему. Ну и желающие принять участие тоже приветствуются  В первом пункте, думаю, немешало бы добавить краткое резюме по внутрисхемным эмуляторам. И еще пожалуй стоит добавить раздел или подраздел, посвященный самопрограммированию контроллеров...
|
|
|
|
|
Jun 21 2006, 21:24
|
дятел
    
Группа: Свой
Сообщений: 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... шутка Мне кажется что для новичка это один из важных вопросов, какой МК выбрать для начала (ну конечно в зависимости от типа задач).
|
|
|
|
|
Jun 22 2006, 01:55
|

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

|
Цитата(singlskv @ Jun 22 2006, 06:24)  ИМХО, здесь нехватает одного очень важного пункта для новичков: n.) Как определить какие аппаратные средства(конкретно AVR) нам необходимы и достаточны (в том числе для развития). Пример: Задача: Нужно помигать светодиодами. Решение: Берем ATmega32/64/128... шутка
Мне кажется что для новичка это один из важных вопросов, какой МК выбрать для начала (ну конечно в зависимости от типа задач). ИМХО можно использовать ATmega16-16PI. DIP-корпус, легкий для монтажа. Не выская стоимость. Достаточно памяти - тем более, что новичку надо начинать обязательно с ассембелера, да и для СИ хватит на первых порах. Нет, в отличии от ATmega8, шанса "угробить" мегу неправлильной установкой бита RSTDSBL. Вот! В качестве обвязки (опять же сужу по-себе): 2 - 4 светодиода, 2 - 4 кнопки, MAX232. Все! Думаю хватит для первого времени. В дальнейшем к свободным выводам можно подцепить по мере "профессионального" роста LCD, датчик температуры и проч. Вот, пока все))
--------------------
Выбор.
|
|
|
|
|
Jun 22 2006, 06:45
|

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

|
2 haker_fox: совершенно согласен, сам несколько лет назад спаял такую игрушку, для обкатывания разных абстракных задач.
2 Old1: Принимается. Не хотители начеркать пару абзацев на эту тему - я внутрисхемной отладкой не пользуюсь, толком сказать ничего не могу.
2 singlskv: согласен, но если оценка по периферии ясна, как определить потребности в памяти, формализовать задачу,особенно по флэши.
--------------------
Вони шукають те, чого нема, Щоб довести, що його не існує.
|
|
|
|
|
Jun 22 2006, 07:58
|

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

|
Цитата(haker_fox @ Jun 22 2006, 04:55)  что новичку надо начинать обязательно с ассембелера, С этим я не согласен. Написать первое "махание ногой" на С гораздо проще - startup, вектора берет на себя компилятор. На этом этапе можно рассмотреть листинг. Вторым шагом можно подключить асм-функцию. Если начинать учить с ассемблера потом на С переползти будет довольно сложно: любая "лишняя" команда в листинге будет вызывать желание вернуться на асм, а осознание того, что этих "лишних" команд в общем объеме кода не так уж и много и что не всегда это фатально приходит ой как не сразу. Я например только пики и немного MSP430 изучал с асма. Потом узнал что для uC бывает С и для всех остальных процессоров (MSP430, x51, 68HC12, AVR, ARM) асм изучал по листингам компилятора. Цитата Нет, в отличии от ATmega8, шанса "угробить" мегу неправлильной установкой бита RSTDSBL. Вот!  Это да. Но пункт "не убий" в FAQ внести надо обязательно. С описанием как это сделать разными программаторами и как потом чинить. Сюда же вписать переход на внешний кварц.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jun 22 2006, 09:10
|

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

|
Цитата Сергей Борщ Написать первое "махание ногой" на С гораздо проще - startup, вектора берет на себя компилятор. На этом этапе можно рассмотреть листинг. Вторым шагом можно подключить асм-функцию. Если начинать учить с ассемблера потом на С переползти будет довольно сложно: любая "лишняя" команда в листинге будет вызывать желание вернуться на асм, а осознание того, что этих "лишних" команд в общем объеме кода не так уж и много и что не всегда это фатально приходит ой как не сразу. Если начинать сразу с Си, то может не возникнуть желание изучать асм, что гораздо опаснее. Как пример - [banned], он начинал на Си и теперь не имеет ни малейшего желания изучать ассемблер. Поэтому всё-таки лучше начинать с ассемблера. Цитата KykyryzzZ завалялась тут одна статейка, если подойдет - хорошо. Называется Микроконтроллеры AVR. 7 ступеней. автор С.М. Рюмик. Надо выложить эту статью на ftp. Наверняка в ней имеется описание AVRStudio и примеры программ типа моргания светодиодами. Если же нет, то готов написать статью по этим темам.
--------------------
Всяк хорошая мысля к нам приходит опосля.
|
|
|
|
|
Jun 22 2006, 09:47
|

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

|
Цитата Тогда надо писать два варианта "Для тех кто видит МК впервые" и "для мигрирующих с асма или с другого проца". Ну я ж в приципе из этого и исходил - по мере развития каждый стартует со своего раздела. Кому-нибудь понадобиться просто список литературы. Я полагаю лучше, чем Atmel написать об ассемблере нельзя, поэтому просто сослаться на соответсвующие документы и их переводы. Единственное, что надо хорошо выписать - это убийство фьюзами, обязательность ручной инициализации стека и прочие подобные грабли. По части С сослаться на стандарт (на моей памяти уже раз 20 приводилась ссылка), и акцентировать внимание именно на АВР специфичных вещах - прерывания, модификаторы _flash _eeprom. Способы передачи аргументов, makefile и скрипты линкеров. Пожиратель памяти printf() и как его обойти. Возможно коснуться таких вещей как секция .init WinAvr я мог бы взять на себя.
--------------------
Вони шукають те, чого нема, Щоб довести, що його не існує.
|
|
|
|
|
Jun 22 2006, 11:03
|
Местный
  
Группа: Свой
Сообщений: 232
Регистрация: 22-02-06
Из: Воронеж
Пользователь №: 14 589

|
Поддерживаю идею Getting started  . Но всеже не согласен с тем, что начинать надо с ассемблера. Сам начинал с Elab Pascal  + PonyProg. При этом интенсивно вчитываясь в DataSheet. Помню освоился до первой говорилки (AT90S2313 + AT24c512 + PWM) примерно за два месяца. И это при том, что доступа в интернет практически небыло. Почему выбрал Pascal? - Потому что не знал C. Чем хорош именно Elab Pascal? - Наличием огромного числа библиотек. Даже сейчас, когда надо срочно сваять простенькое устройство(со всякими там I2C и т.д.) в максимально короткий срок, пользуюсь им. А если проект расширяется, портирую его на C. Еще по теме. Предлагаю сделать руководство на примерах. Например так: Руководство AVR на примере создания многофункционального будильника. 1. Обработка нажатия клавиш(напр. нажал на клавишу - заморгал светодиод). Приводятся схема, исходник, комментарии и советы. 2. Получение звуковых эффектов с использованием ШИМ. ........ При этом используются ранее изученные клавиши(напр. нажал на клавишу - получил какой-нибудь звуковой эффект + заморгал светодиод). 3. Подключение символьного ЖКИ........................... 4. Подключение датчика температуры (напр. DS18S20)........ И т.д. При этом каждый последующий шаг использует предыдущие наработки, оформленные в виде законченных решений.
--------------------
Истина рождается в спорах; но когда страсти кипят, истина испаряется.
|
|
|
|
|
Jun 22 2006, 11:55
|
Местный
  
Группа: Свой
Сообщений: 232
Регистрация: 22-02-06
Из: Воронеж
Пользователь №: 14 589

|
Цитата(berpaks @ Jun 22 2006, 15:14)  Это лучше сделать на примере апоикейшена AVR335 - цифровой диктофон - там есть п 1 и 2 - показав начинающему что можно и нужно использовать то что предлагает производитель компонента прежде чем изобретать велосипед. ИМХО необходимо именно пошаговое объяснение каждого действия, и на русском. +Подробнейшие комментарии к каждой строчке исходника. И при этом не слишком усложнять исходник, дабы не потерять читабельность. Еще можно в конце каждого шага добавить что-то типа задания для самостоятельного исполнения. Например для кнопок - было две, задание добавить еще две что бы, при нажатии на них, светодиод мигал как-нибудь по другому.
--------------------
Истина рождается в спорах; но когда страсти кипят, истина испаряется.
|
|
|
|
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|