Перейти к содержанию
    

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

 

Предварительный план и согласие нескольких человек присутсвует здесь:

http://electronix.ru/forum/index.php?showtopic=16503&st=165

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

 

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

 

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

 

Ну и желающие принять участие тоже приветствуются :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

 

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 beer_warrior :

Сам с AVR не работаю, но завалялась тут одна статейка, если подойдет - хорошо.

Называется Микроконтроллеры AVR. 7 ступеней. автор С.М. Рюмик.

Хотел прикрепить к посту, но 1.7Мб не проходит. могу скинуть на мыло. может выудите из нее что-нибудь полезное для ветки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Предварительный план и согласие нескольких человек присутсвует здесь:

http://electronix.ru/forum/index.php?showtopic=16503&st=165

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

 

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

 

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

 

Ну и желающие принять участие тоже приветствуются :)

В первом пункте, думаю, немешало бы добавить краткое резюме по внутрисхемным эмуляторам.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

 

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

 

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

 

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

 

ИМХО, здесь нехватает одного очень важного пункта для новичков:

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

и достаточны (в том числе для развития).

Пример:

Задача: Нужно помигать светодиодами.

Решение: Берем ATmega32/64/128... шутка

 

Мне кажется что для новичка это один из важных вопросов, какой МК

выбрать для начала (ну конечно в зависимости от типа задач).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ИМХО, здесь нехватает одного очень важного пункта для новичков:

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

и достаточны (в том числе для развития).

Пример:

Задача: Нужно помигать светодиодами.

Решение: Берем ATmega32/64/128... шутка

 

Мне кажется что для новичка это один из важных вопросов, какой МК

выбрать для начала (ну конечно в зависимости от типа задач).

 

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

2 Old1: Принимается.

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что новичку надо начинать обязательно с ассембелера,

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сергей Борщ

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

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

 

KykyryzzZ

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Ну я ж в приципе из этого и исходил - по мере развития каждый стартует со своего раздела. Кому-нибудь понадобиться просто список литературы.

Я полагаю лучше, чем Atmel написать об ассемблере нельзя,

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

По части С сослаться на стандарт (на моей памяти уже раз 20 приводилась ссылка), и акцентировать внимание именно на АВР специфичных вещах - прерывания, модификаторы _flash _eeprom.

Способы передачи аргументов, makefile и скрипты линкеров.

Пожиратель памяти printf() и как его обойти. Возможно коснуться таких вещей как секция .init

WinAvr я мог бы взять на себя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поддерживаю идею Getting started :a14: .

Но всеже не согласен с тем, что начинать надо с ассемблера.

Сам начинал с Elab Pascal :) + PonyProg. При этом интенсивно вчитываясь в DataSheet.

Помню освоился до первой говорилки (AT90S2313 + AT24c512 + PWM) примерно за два месяца. И это при том, что доступа в интернет практически небыло.

Почему выбрал Pascal? - Потому что не знал C.

 

Чем хорош именно Elab Pascal? - Наличием огромного числа библиотек.

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

 

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

 

Руководство AVR на примере создания многофункционального будильника.

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

2. Получение звуковых эффектов с использованием ШИМ. ........ При этом используются ранее изученные клавиши(напр. нажал на клавишу - получил какой-нибудь звуковой эффект + заморгал светодиод).

3. Подключение символьного ЖКИ...........................

4. Подключение датчика температуры (напр. DS18S20)........

И т.д.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это лучше сделать на примере апоикейшена AVR335 - цифровой диктофон - там есть п 1 и 2 - показав начинающему что можно и нужно использовать то что предлагает производитель компонента прежде чем изобретать велосипед.

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

Еще можно в конце каждого шага добавить что-то типа задания для самостоятельного исполнения. Например для кнопок - было две, задание добавить еще две что бы, при нажатии на них, светодиод мигал как-нибудь по другому.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

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

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...