Свежие обсуждения
Микроконтроллеры

Ликбез по программированию AVR

1 5 10

chav1961: Наверное, и правда, учиться некому
как это некому?? Зрительские массы требуют продолжения.

 

Вот picmaniac дозреет - и продолжим

 

Может кому пригодится, здесь w_w.forum.radiospec.ru/lofiversion/index.php/t5612.html есть цикл статей 10шт про мк AVR. Мельком пробежался, понравилось. Там же есть статьи про PIC

 

Моя статейка по адресу http://www.avrlikbez.nm.ru/misc/about_avr_01.rtf пересмотрена и дополнена. Хочу всё-таки начать с самых основ и продвигаться не торопясь, шаг за шагом, не прыгая.

 

picmaniac
- В статье слишком много обобщений. Если рассуждать о каком-то абстрактном МК, следовало бы потратить ещё страниц 30 на описание всех существующих моделей памяти, ввода-вывода и пр.

Например, существуют МК, в которых регистры АЛУ вообще не отображаются на адресное пространство;
Существуют МК, в которых адресное пространство ввода-вывода отделено от адресного пространства ОЗУ и требует специальных команд доступа;
Существуют МК, способные выполнять программу, загруженную в ОЗУ;
Существуют МК, которые вообще не имеют встроенной энергонезависимой памяти для хранения программ.
...

 

И если уж объяснять что такое МК, не надо путать читателя. МК это микросхема, объединяющая в одном корпусе процессор (арифметико-логическое устройство), ОЗУ, ПЗУ и различные периферийные устройства (включая порты внешнего ввода-вывода). На самом деле, это и есть "классическое" определение МК, причём достаточно ясное для начинающих. Иначе говоря, МК -- это система (компьютер) на одном чипе.

Аналогию лучше проводить с обычным персональным компьютером.
АЛУ МК ~ процессор ПК.
ОЗУ ~ оно есть ОЗУ.
Flash память программ ~ замена жесткого диска.
Периферийные устройства ~ платы, установленные в разъёмы PCI.
Порты внешнего ввода-вывода ~ LPT, COM, USB

А ещё лучше (но это чисто ИМХО) не заниматься подобного рода объяснениями вообще. Или же подойти к ним гораздо серьёзней.

 

caddr: МК это микросхема, объединяющая в одном корпусе процессор (арифметико-логическое устройство), ОЗУ, ПЗУ и различные периферийные устройства (включая порты внешнего ввода-вывода).
До этого определения мы ещё дойдём. Не всё сразу. Эта фраза 5 лет назад не принесла бы лично мне пользы. А вот если бы мне объяснили, что МК - это микросхема, выводами которой программист может управлять по своему желанию вот так-то и вот так-то и для этого нужно сделать вот это и вот то - это уже полезная информация. Не люблю пустых умничаний. Мало ли какие МК существуют на белом свете. В статье речь об AVR с практической точки зрения.
caddr: В статье слишком много обобщений. Я так не считаю. Укажите конкретно хотя бы три.
caddr: следовало бы потратить ещё страниц 30 на описание всех существующих моделей памяти, ввода-вывода и пр. Нафига это начинающему АВРщику?
Я считаю, что на первом этапе не нужно забивать голову лишней теорией. Как, например, меня отец учил машиной управлять. Мне тогда лет 7 было. Органы управления показал основные - руль, педали, рычаг. Объяснил, как ими пользоваться. Ключевые моменты, на уровне начинающего пользователя, не вдаваясь в ненужные на том этапе подробности. Показал сам. Дал попробовать мне. Ага - понравилось, заинтересовало! А потом уже мне стало интересно, из чего машина состоит, как всё это устроено и работает. С интересом разбирался сам, что неясно - спрашивал.
Вот таким методом и я учу желающих. Не стану же я объяснять желающей немножко порулить девушке процесс смесеобразования в карбюраторе или принцип работы сцепления и коробки передач. Нафига оно ей? И даже не стану с самого начала объяснять, что автомобиль состоит из кузова, двигателя, трансмиссии, включающей в себя то-то и то-то... Нет, я буду действовать иначе. Объясню, что есть основные органы управления. Вот руль, им действуй так. Вот 3 педали, эта для того, эта для сего, а вот та для этого. Действуй ими вот так-то и так-то. Рычаг переставляй сюда вот так и сюда вот эдак. Смотри-показываю. Теперь сама попробуй. Это реально работает. И все довольны. Она же не на профессионального водителя пока учится, а так, чуть-чуть прокатится, не в городе, конечно. Понравится, захочет разобраться получше - объясню на доступном для понимания уровне. Вдруг захочет понять досконально - что ж, помогу и в этом.

 

picmaniac: Нафига это начинающему АВРщику?
- Согласен, что нафиг не нужно. Но в начале статьи делается попытка охватить все 8-битные МК сразу, а это вызывает кучу вопросов.

В статье слишком много обобщений. Я так не считаю. Укажите конкретно хотя бы три.
- Уже привел примеры утверждений, которые ошибочны, если говорить о всех существующих 8-битных МК (кроме PIC и AVR, их ещё десятки).

 

caddr: в начале статьи делается попытка охватить все 8-битные МК сразу
Ничего подобного. В заголовке статьи ясно написано - Ликбез по микроконтроллерам AVR! Кто говорит обо всех 8-битных МК? Где там ошибочные утверждения? Проглядывают в этой критике приёмчики одного старого знакомого... И тема посвящена AVR. И сам сайт тот посвящён AVR. Зачем мне пытаться объять необъятное?
Ладно, допишу предложение: "Попробую разъяснить попроще, на примере 8-разрядных МК семейства AVR."

 

picmaniac: Где там ошибочные утверждения?

Исходя из посылки: "Попробую разъяснить попроще, на примере 8-разрядных МК.", утверждение "Каждый регистр имеет свой адрес в памяти МК" является грубой ошибкой, например. Но оно верно, если заменить посылку на "Попробую разъяснить попроще, на примере 8-разрядных МК семейства AVR."

PS. Вы же сами критику просили. Не надо, так не надо.