beer_warrior 0 21 июня, 2006 Опубликовано 21 июня, 2006 · Жалоба По итогам длительной и малорезультативной борьбы с курсом [banned] , возникла идея вышибить клин, клином т.е. сделать документ освещающий основные аспекты работы с AVR. Предварительный план и согласие нескольких человек присутсвует здесь: http://electronix.ru/forum/index.php?showtopic=16503&st=165 план писался сходу, по впечетлениям от личных проблем, и вопросов возникающих у новичков в этом разделе. В этой ветке хотелось бы увидеть коррективы к плану и список вопросов ответы на которые хотелось бы видеть в подобном документе. Особо хотелось бы видеть вопросы новичков, ибо вещи которые кажутся опытному человеку самими собой разумеющимися, для новичка могут представлять собой непреодолимую проблему. Ну и желающие принять участие тоже приветствуются :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Amiran 0 21 июня, 2006 Опубликовано 21 июня, 2006 · Жалоба Предлагаю план: 1) где взять информацию по электронике, по МК, где купить компоненты и информацию о них, где найти части схем из которых можно скомпилировать свое устройство. где поcмотреть как правильно использовать компоненты. 2) Что такое МК. Особенности AVR - его содержимое. Как AVR интерпритирует внешние электрические сигналы и какие может создавать. 3) Обзор инструментальных средств - объективный. 4) Си для МК AVR - основные конструкции и короткие примеры для AVR 5) Примеры - от постановки задачи, через выбор решения и проработку алгоритма к результату. Основные методы отладки программ на примерах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KykyryzzZ 0 21 июня, 2006 Опубликовано 21 июня, 2006 · Жалоба 2 beer_warrior : Сам с AVR не работаю, но завалялась тут одна статейка, если подойдет - хорошо. Называется Микроконтроллеры AVR. 7 ступеней. автор С.М. Рюмик. Хотел прикрепить к посту, но 1.7Мб не проходит. могу скинуть на мыло. может выудите из нее что-нибудь полезное для ветки Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
beer_warrior 0 21 июня, 2006 Опубликовано 21 июня, 2006 · Жалоба Бросайте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Old1 0 21 июня, 2006 Опубликовано 21 июня, 2006 · Жалоба По итогам длительной и малорезультативной борьбы с курсом [banned] , возникла идея вышибить клин, клином т.е. сделать документ освещающий основные аспекты работы с AVR. Предварительный план и согласие нескольких человек присутсвует здесь: http://electronix.ru/forum/index.php?showtopic=16503&st=165 план писался сходу, по впечетлениям от личных проблем, и вопросов возникающих у новичков в этом разделе. В этой ветке хотелось бы увидеть коррективы к плану и список вопросов ответы на которые хотелось бы видеть в подобном документе. Особо хотелось бы видеть вопросы новичков, ибо вещи которые кажутся опытному человеку самими собой разумеющимися, для новичка могут представлять собой непреодолимую проблему. Ну и желающие принять участие тоже приветствуются :) В первом пункте, думаю, немешало бы добавить краткое резюме по внутрисхемным эмуляторам. И еще пожалуй стоит добавить раздел или подраздел, посвященный самопрограммированию контроллеров... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
singlskv 0 21 июня, 2006 Опубликовано 21 июня, 2006 · Жалоба Предлагаю план: 1) где взять информацию по электронике, по МК, где купить компоненты и информацию о них, где найти части схем из которых можно скомпилировать свое устройство. где поcмотреть как правильно использовать компоненты. 2) Что такое МК. Особенности AVR - его содержимое. Как AVR интерпритирует внешние электрические сигналы и какие может создавать. 3) Обзор инструментальных средств - объективный. 4) Си для МК AVR - основные конструкции и короткие примеры для AVR 5) Примеры - от постановки задачи, через выбор решения и проработку алгоритма к результату. Основные методы отладки программ на примерах. ИМХО, здесь нехватает одного очень важного пункта для новичков: n.) Как определить какие аппаратные средства(конкретно AVR) нам необходимы и достаточны (в том числе для развития). Пример: Задача: Нужно помигать светодиодами. Решение: Берем ATmega32/64/128... шутка Мне кажется что для новичка это один из важных вопросов, какой МК выбрать для начала (ну конечно в зависимости от типа задач). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 22 июня, 2006 Опубликовано 22 июня, 2006 · Жалоба ИМХО, здесь нехватает одного очень важного пункта для новичков: n.) Как определить какие аппаратные средства(конкретно AVR) нам необходимы и достаточны (в том числе для развития). Пример: Задача: Нужно помигать светодиодами. Решение: Берем ATmega32/64/128... шутка Мне кажется что для новичка это один из важных вопросов, какой МК выбрать для начала (ну конечно в зависимости от типа задач). ИМХО можно использовать ATmega16-16PI. DIP-корпус, легкий для монтажа. Не выская стоимость. Достаточно памяти - тем более, что новичку надо начинать обязательно с ассембелера, да и для СИ хватит на первых порах. Нет, в отличии от ATmega8, шанса "угробить" мегу неправлильной установкой бита RSTDSBL. Вот! :) В качестве обвязки (опять же сужу по-себе): 2 - 4 светодиода, 2 - 4 кнопки, MAX232. Все! Думаю хватит для первого времени. В дальнейшем к свободным выводам можно подцепить по мере "профессионального" роста LCD, датчик температуры и проч. Вот, пока все)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
beer_warrior 0 22 июня, 2006 Опубликовано 22 июня, 2006 · Жалоба 2 haker_fox: совершенно согласен, сам несколько лет назад спаял такую игрушку, для обкатывания разных абстракных задач. 2 Old1: Принимается. Не хотители начеркать пару абзацев на эту тему - я внутрисхемной отладкой не пользуюсь, толком сказать ничего не могу. 2 singlskv: согласен, но если оценка по периферии ясна, как определить потребности в памяти, формализовать задачу,особенно по флэши. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 22 июня, 2006 Опубликовано 22 июня, 2006 · Жалоба что новичку надо начинать обязательно с ассембелера, С этим я не согласен. Написать первое "махание ногой" на С гораздо проще - startup, вектора берет на себя компилятор. На этом этапе можно рассмотреть листинг. Вторым шагом можно подключить асм-функцию. Если начинать учить с ассемблера потом на С переползти будет довольно сложно: любая "лишняя" команда в листинге будет вызывать желание вернуться на асм, а осознание того, что этих "лишних" команд в общем объеме кода не так уж и много и что не всегда это фатально приходит ой как не сразу. Я например только пики и немного MSP430 изучал с асма. Потом узнал что для uC бывает С и для всех остальных процессоров (MSP430, x51, 68HC12, AVR, ARM) асм изучал по листингам компилятора. Нет, в отличии от ATmega8, шанса "угробить" мегу неправлильной установкой бита RSTDSBL. Вот! :) Это да. Но пункт "не убий" в FAQ внести надо обязательно. С описанием как это сделать разными программаторами и как потом чинить. Сюда же вписать переход на внешний кварц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Proton 1 22 июня, 2006 Опубликовано 22 июня, 2006 · Жалоба Сергей Борщ Написать первое "махание ногой" на С гораздо проще - startup, вектора берет на себя компилятор. На этом этапе можно рассмотреть листинг. Вторым шагом можно подключить асм-функцию. Если начинать учить с ассемблера потом на С переползти будет довольно сложно: любая "лишняя" команда в листинге будет вызывать желание вернуться на асм, а осознание того, что этих "лишних" команд в общем объеме кода не так уж и много и что не всегда это фатально приходит ой как не сразу. Если начинать сразу с Си, то может не возникнуть желание изучать асм, что гораздо опаснее. Как пример - [banned], он начинал на Си и теперь не имеет ни малейшего желания изучать ассемблер. Поэтому всё-таки лучше начинать с ассемблера. KykyryzzZ завалялась тут одна статейка, если подойдет - хорошо. Называется Микроконтроллеры AVR. 7 ступеней. автор С.М. Рюмик. Надо выложить эту статью на ftp. Наверняка в ней имеется описание AVRStudio и примеры программ типа моргания светодиодами. Если же нет, то готов написать статью по этим темам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 22 июня, 2006 Опубликовано 22 июня, 2006 · Жалоба Если начинать сразу с Си, то может не возникнуть желание изучать асм, что гораздо опаснее. Как пример - [banned], он начинал на Си и теперь не имеет ни малейшего желания изучать ассемблер. Поэтому всё-таки лучше начинать с ассемблера.Тогда надо писать два варианта "Для тех кто видит МК впервые" и "для мигрирующих с асма или с другого проца". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
beer_warrior 0 22 июня, 2006 Опубликовано 22 июня, 2006 · Жалоба Тогда надо писать два варианта "Для тех кто видит МК впервые" и "для мигрирующих с асма или с другого проца". Ну я ж в приципе из этого и исходил - по мере развития каждый стартует со своего раздела. Кому-нибудь понадобиться просто список литературы. Я полагаю лучше, чем Atmel написать об ассемблере нельзя, поэтому просто сослаться на соответсвующие документы и их переводы. Единственное, что надо хорошо выписать - это убийство фьюзами, обязательность ручной инициализации стека и прочие подобные грабли. По части С сослаться на стандарт (на моей памяти уже раз 20 приводилась ссылка), и акцентировать внимание именно на АВР специфичных вещах - прерывания, модификаторы _flash _eeprom. Способы передачи аргументов, makefile и скрипты линкеров. Пожиратель памяти printf() и как его обойти. Возможно коснуться таких вещей как секция .init WinAvr я мог бы взять на себя. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
defunct 0 22 июня, 2006 Опубликовано 22 июня, 2006 · Жалоба 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. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
otrog 0 22 июня, 2006 Опубликовано 22 июня, 2006 · Жалоба Поддерживаю идею Getting started :a14: . Но всеже не согласен с тем, что начинать надо с ассемблера. Сам начинал с Elab Pascal :) + PonyProg. При этом интенсивно вчитываясь в DataSheet. Помню освоился до первой говорилки (AT90S2313 + AT24c512 + PWM) примерно за два месяца. И это при том, что доступа в интернет практически небыло. Почему выбрал Pascal? - Потому что не знал C. Чем хорош именно Elab Pascal? - Наличием огромного числа библиотек. Даже сейчас, когда надо срочно сваять простенькое устройство(со всякими там I2C и т.д.) в максимально короткий срок, пользуюсь им. А если проект расширяется, портирую его на C. Еще по теме. Предлагаю сделать руководство на примерах. Например так: Руководство AVR на примере создания многофункционального будильника. 1. Обработка нажатия клавиш(напр. нажал на клавишу - заморгал светодиод). Приводятся схема, исходник, комментарии и советы. 2. Получение звуковых эффектов с использованием ШИМ. ........ При этом используются ранее изученные клавиши(напр. нажал на клавишу - получил какой-нибудь звуковой эффект + заморгал светодиод). 3. Подключение символьного ЖКИ........................... 4. Подключение датчика температуры (напр. DS18S20)........ И т.д. При этом каждый последующий шаг использует предыдущие наработки, оформленные в виде законченных решений. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
otrog 0 22 июня, 2006 Опубликовано 22 июня, 2006 · Жалоба Это лучше сделать на примере апоикейшена AVR335 - цифровой диктофон - там есть п 1 и 2 - показав начинающему что можно и нужно использовать то что предлагает производитель компонента прежде чем изобретать велосипед. ИМХО необходимо именно пошаговое объяснение каждого действия, и на русском. +Подробнейшие комментарии к каждой строчке исходника. И при этом не слишком усложнять исходник, дабы не потерять читабельность. Еще можно в конце каждого шага добавить что-то типа задания для самостоятельного исполнения. Например для кнопок - было две, задание добавить еще две что бы, при нажатии на них, светодиод мигал как-нибудь по другому. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться