Ока в Новосибирске

Клуб Окаводов Новосибирска
Текущее время: 28 мар 2024, 15:59

Часовой пояс: UTC + 7 часов




Начать новую тему Ответить на тему  [ Сообщений: 63 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: 18 фев 2013, 11:14 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 10 апр 2007, 22:36
Сообщения: 11206
Откуда: Новосибирск, Дзержинский
Авто: ВАЗ-21043
Имя: Алексей
Всем, кто мечтает научиться программировать микроконтроллеры! У Вас есть прекрасная возможность сделать первые шаги с нами! Первая задача, которую мы с вами решим, будет классической - мигать светодиодом. На первый взгляд эта задача кажется пустяковой, однако она весьма доходчиво объясняет основные принципы работы. Кроме того нужно всегда идти от простого к сложному, и потому этот урок нам весьма подходит.

Итак, что же такое микроконтроллер (МК) и чем он так хорош?

Как говорит нам Википедия, Микроконтро́ллер (англ. Micro Controller Unit, MCU) — микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает на одном кристалле функции процессора и периферийных устройств, содержит ОЗУ или ПЗУ. По сути, это однокристальный компьютер, способный выполнять простые задачи, согласно вложенной в него программе (алгоритму действий). Страшно представить себе то, если бы не было микроконтроллеров. Я бы никогда не собрал себе часы-термометр, паяльную станцию, подарочный термометр брату в баню на даче и многое другое.

Почему этого не могло быть без МК? Потому, что без МК это требовало огромной выдержки и оснащения, чего у меня, ребенка в то время, не было. Вот пример схемы простейших часов на россыпухе:
Вложение:
Комментарий к файлу: Схема взята здесь http://www.299792458.ru/news/2010-11-15-689
chas_ross.png
chas_ross.png [ 128.94 КБ | Просмотров: 28791 ]

А вот пример схемы часов на микроконтроллере:
Вложение:
Комментарий к файлу: Схема взята здесь http://best-chart.ru/samodelnye-elektronnye-chasy-budilniki/prostejshie-elektronnye-chasy-na-mikrokontrollere-atmega8-sxema.html
chas_mk8.jpg
chas_mk8.jpg [ 43.02 КБ | Просмотров: 28791 ]

Три корпуса против одного, и это еще не предел - я встречал схемы с тетрадный лист! Кроме того, если мы захотим вдруг добавить в наши часы функцию цифрового термометра, то в случае с россыпухой нам придется серьезно дорабатывать схему. А в случае со схемой на МК потребуется только сам термодатчик, например DS18b20, и один резистор на 4,7кОм. Ну и изменить программу, потому что в ней вся суть. В этом есть огромная гибкость, когда можно повлиять на логику работы устройства не брутальным паяльником, а интеллектуальным кодом. Какой интерес организовывать паузу конденсатором, который со временем высохнет, когда ее можно задать всего одной командой delay(время задержки) и она будет четко до микросекунды всегда такой, какой ты ее создал до тех пор, пока у МК не поедет крыша (МК рассчитан на десятилетия работы). А почему? Потому, что МК относится к цифровой технике, где правят бал сухие цифры. И там все чётко - нолик или единичка. "Да" или "нет", без компромиссов.

Итак у нас пришло понимание, что МК может сильно упростить общую сложность какого то устройства. Но на пути начала его применения острым ножом встает вопрос его программирования. А чаще даже не самого программирования, а проблема загрузки уже написанной кем то программы в контроллер. И тут мы можем встретить массу мифов про то, что это сложно, что для этого нужен дорогостоящий программатор и что вообще это все дело не для простых смертных. Это не так!!! Вероятно Вы будете удивлены, если узнаете, что для загрузки программы в микроконтроллер (в народе говорят "прошить" МК, или загрузить прошивку) достаточно всего пяти проводков и наличие LPT-порта у вашего компьютера!!!
Вложение:
Комментарий к файлу: Схема взята здесь http://www.tehnari.ru/f115/t62706/
5 wires.gif
5 wires.gif [ 13.27 КБ | Просмотров: 28791 ]

Хотя я бы рекомендовал все же собрать программатор для СОМ-порта. Все таки он чаще встречается на компьютерах, и даже если нет его разъема на задней панели, то зачастую сам порт есть на материнской плате и надо только вывести его наружу.
Вложение:
Комментарий к файлу: Схема взята здесь http://www.getchip.net/posts/delaem-com-programmator-dlya-avr-mikrokontrollerov/
016-COM-programmer-scheme.png
016-COM-programmer-scheme.png [ 13.25 КБ | Просмотров: 28791 ]

По самим схемам вопросов возникнуть не должно, ибо используются распространенные детали. Осталось только выложить саму программу, с помощью которой мы будем загружать в МК наши прошивки:
Вложение:
Комментарий к файлу: Страничка автора http://avr.nikolaew.org/progr
uniprof_08_jun_10.zip [429.62 КБ]
Скачиваний: 578


Примечание: у кого нет на компьютере LPT и COM портов (ноутбук), тем нужно будет собирать USB-программатор. Их многое множество, но почти все они содержат в себе микроконтроллер, который потребует предварительную прошивку (палка о двух концах). Кроме того они все тормозные и долго "шьют" прошивку. Однако есть программатор, который лишен этих недостатков - это программатор USBBit (ссылка). У него нет МК, его не нужно "прошивать", программирует он очень быстро (в сравнении с другими программаторами). Но есть один минус - микросхема СОМ-порта FT232RL имеет очень мелкий шаг выводов и не каждому начинающему под силу сделать такую печатную плату. Однако можно поискать в инете уже готовые программаторы МК AVR на этой микросхеме, попросить приятеля сделать печатку и тд. Второй недостаток программатора - с ней не работает UniProf, а та, которая работает, не имеет GUI-интерфейса (только командная строка). Но умельцы уже давно написали всяких приложений, потому это не проблема. Кроме того, когда вы будете отлаживать свое устройство, и у вас будет целая серия поправок и перепрошивок, вы поймете, что нет ничего лучше программатора, который запускается из командной строки. Вы просто создаете bat-файл с командной строкой, а потом просто запускаете этот файл - в МК автоматически выставляются фьюзы и он прошивается обновленной прошивкой

Глянув на варианты схем можно сказать, что действительно не так страшен черт, как его малюют. Верно? :wink:

Вопрос: на схеме есть контакты, которые именуются как MISO, MOSI, RESET, SCL, GND. Что с ними делать и зачем это?
Ответ: это названия сигналов, ответственных за внутрисхемное программирование нашего МК. Нужно найти на МК такие же контакты и подключить.

Вопрос: Как их найти на микроконтроллере? Где брать информацию?
Ответ: У людей есть молитва и Библия, а у микроконтроллеров это ДАТАШИТ. Пример можно скачать здесь.

Вопрос: ААА, там "многа букафф" и все на не русском!!! Не надо мне ничего!
Ответ: Не надо пугаться большого объема информации на английском языке! На данном этапе она вам совершенно не нужна и даже излишня. На данном этапе нас интересует распиновка конкретного МК (предлагаю к изучению не сложный, но весьма распространенный контроллер ATMega8). То есть что бы подключить к нему наш программатор, питание и светодиод, мы должны знать где и что у него находится. И лежит эта инфа в разделе "Pin configurations"
Вложение:
Комментарий к файлу: Распиновка МК АТмега8
atmega8_pins.png
atmega8_pins.png [ 52.6 КБ | Просмотров: 28791 ]

Для начала краткая, но доходчивая информация о том, какие вообще бывают выводы у МК и за что отвечают.

Основное, что имеет МК в изобилии, это порты ввода-вывода. Через них МК может наблюдать за внешним миром, а так же и влиять на него. Количество портов у каждого МК различное (зависит от самого МК). Название порта состоит и буквы Р (Port) и самого имени порта (A, B, D, C и тд) и номера его вывода. Каждый из портов может иметь не более восьми выводов (порт же восьмибитный!), то есть PA0-PA7, РВ0-РВ7, PD0-PD7 и тд. Например у предлагаемого мной для изучения МК АТмега8 есть порты B, C, D. Порту C повезло меньше, у него всего 7 выводов, да и то седьмой вывод (который РС6, ибо PC0 считается за первый) занят под сигнал RESET (общий сброс МК). Каждый порт может быть назначен либо на ввод информации, либо на ее вывод.

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

Например, порты PB6 и PB7 (см.картинку) могут использоваться как обычные порты ввода или вывода, либо можно их отдать под внешний кварцевый резонатор (пока не забивайте голову зачем он нужен, и над прочим тоже пока не парьтесь - просто есть такая возможность и все). Или любой из портов РС0-РС5 (или все сразу) можно использовать как вход аналого-цифрового преобразователя и контролировать до ШЕСТИ различных напряжений (в том числе и токов, если это напряжение падение на шунте). Порты PD0-PD1 можно отдать под RS232 и сопряжения МК с компьютером (смотрите название выводов RXD, TXD - ни о чем не говорит?).

Выводы 7, 8 - питание 5В. Очень желательно сразу к этим ножкам припаять керамический конденсатор 0.1мкф для уменьшения помех.

А теперь самое главное про то, с чего начали: порты PB3-PB5 в обычной жизни могут быть использованы как обычные и ничем не примечательные порты ввода/вывода. Однако если замкнуть сигнал RESET на минус питания (программатор именно это и делает), МК войдет в состояние, схожее с ощущением удара пыльного мешка по голове, выполнение основной программы застопорится и эти выводы станут нашими искомыми сигналами MOSI, MISO и SCK, которые предназначены для внутрисхемного программирования. МК можно не выпаивать из схемы, главное что бы на этих портах не висело низкоомной нагрузки (на эту тему тоже пока не заморачивайтесь, у нас пока будет занят один, максимум 2-3 порта, которых у нас полно).

Ну вот на этом я пожалуй прервусь, что бы дать время на осознание информации и вообще на изучение спроса в этом вопросе. Если кому то интересно делать первые шаги ВМЕСТЕ, то заявляйте о себе, собирайте программатор, подключайте МК к нему и добивайтесь того, что бы при запуске программатор перестал писать сообщение:
Вложение:
no_mk.png
no_mk.png [ 14.55 КБ | Просмотров: 28791 ]

Пока не наберем достаточное количество желающих, автобус дальше не поедет!

PS. При перепечатке материала ссылка на автора и этот форум обязательна!

_________________

Поблагодарить автора:
Контакты:
Телеграмм: alexSh154
Вконтакте
Одноквассники
Instagram
Skype: искать oka275 (в англ.раскладке)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 фев 2013, 22:10 
Не в сети
Уже был(а), и не раз, и не два

Зарегистрирован: 17 фев 2013, 13:52
Сообщения: 125
Откуда: Беларусь-Гродно
Авто: Passat B3 1990
Имя: Артем
Доходчиво написано, чтоб так все писали.

И похоже я первый желающий.

_________________________________________
Если кому то интересно делать первые шаги ВМЕСТЕ, то заявляйте о себе, собирайте программатор, подключайте МК к нему и добивайтесь того, что бы при запуске программатор перестал писать сообщение:
Вложение:
no_mk.png

Пока не наберем достаточное количество желающих, автобус дальше не поедет!

________________________________________

С этими условиями у меня все в порядке.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 фев 2013, 22:32 
Не в сети
Уже был(а), и не раз, и не два

Зарегистрирован: 18 фев 2013, 22:21
Сообщения: 110
Откуда: Смоленск
Авто: ВАЗ 2107
Имя: Михаил
Я желающий № 2 :) . Сколько раз пытался освоить программирование самостоятельно, все бестолку. Может годы уже не те. Попробую с Вашей помощью еще раз. Пишите Вы действительно доступно и доходчиво, не каждому такое дано. Спасибо.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 фев 2013, 23:36 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 10 апр 2007, 22:36
Сообщения: 11206
Откуда: Новосибирск, Дзержинский
Авто: ВАЗ-21043
Имя: Алексей
foxghost писал(а):
Доходчиво написано, чтоб так все писали.

Спасибо, приятно. Для этого требуется все пропускать через себя и излагать так, как я хотел бы, что бы излагали мне.

foxghost писал(а):
Но я так понимаю, все проекты до железа, в протеусе будем изучать?

Я бы настоятельно рекомендовал использовать живое железо. Первый детекторный приемник, первый мультивибратор - все это оставляет яркий след и оставляет запас энергии на будущее. На мой взгляд, использовать в ПЕРВЫХ своих поделках Протеус как минимум не наглядно, если не сказать круче, что это как первая рыбалка за компьютером или виртуальная брачная ночь. В прочем, если есть желание использовать Протеус, то я не могу неволить. И это всего лишь мой субьективный взгляд.

foxghost писал(а):
С этими условиями у меня все в порядке.

Главное, что бы Ваши ожидания совпали с планами :) А то потом выяснится, что Вы и светодиодом мигали, и LCD знаете, и даже до преобразования рядов Фурье дошли своим умом :) Тогда уже я буду Вас спрашивать чего и как, потому что у меня еще мозгов на это не хватает. :D

Svan писал(а):
Сколько раз пытался освоить программирование самостоятельно, все бестолку. Может годы уже не те.

Я точно так же мечтал, но как то все не доходили руки. Но мечта только укреплялась, потому что вокруг уже сплошные микроконтроллеры! А это и вольтметры, и амперметры, и термометры и СОБСТВЕННОРУЧНО СПАЯННЫЕ ЧАСЫ, и многое другое. А я "ни шмагла". А потом я приобрел одну штуковину на МК (sauvz.ru - автоподсос на карбовый двигатель, уж очень хотел с кнопки заводить) и совершенно случайно его попалил. Договорился с автором девайса, он дал мне прошивку под честное слово, сказал какие проводки и куда паять. Впаял и прошил новый МК и девайс снова заработал! Спросил его в чем и как он пишет, поставил программу (там все просто), нашел в инете пример программы мигания светодиодом и к вечеру он у меня мигал на столе! Это было ликование!! Несколько лет мечтал и за 1 вечер все сделал. Дальше - больше, и через неделю я опробовал LCD, но понятия не имел как делается меню. Сейчас я имею представление. Пусть не идеальное, за то свое, выстраданное.

Моя цель - ликбез, развеять миф, что программировать МК дано только избранным. Пусть криво, но мы напишем свою мигалку, еще потом освоим LCD, потом сделаем вольтметр, термометр, часы. Этого достаточно будет, что бы заложить фундамент знаний. А дальше - посмотрим! И вот именно потому я бы просил все делать в реальном железе. Потратьте 400 рублей на дисплей и МК с термодатчиком. Не пожалеете, когда будете смотреть на СВОЕ ДЕТИЩЕ, которое чего то там показывает с дисплея ВАМ.

_________________

Поблагодарить автора:
Контакты:
Телеграмм: alexSh154
Вконтакте
Одноквассники
Instagram
Skype: искать oka275 (в англ.раскладке)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 фев 2013, 00:13 
Не в сети
Уже был(а), и не раз, и не два

Зарегистрирован: 18 фев 2013, 22:21
Сообщения: 110
Откуда: Смоленск
Авто: ВАЗ 2107
Имя: Михаил
Давно к этому подступался, поэтому и дисплей есть и меги (8 и 16), и даже программатор сваял. Вот здесь на фото моё детище.
http://www.bezkz.su/publ/programmatory/ ... 0-342.html . Только вот времени катострофически не хватает. А вообще, я тот Svan, который с радиокота. :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 фев 2013, 00:49 
Не в сети
Уже был(а), и не раз, и не два

Зарегистрирован: 17 фев 2013, 13:52
Сообщения: 125
Откуда: Беларусь-Гродно
Авто: Passat B3 1990
Имя: Артем
Да я конечно за железо, про протеус спросил т.к для меня все это темный лес, мало ли, сейчас это так "модно" у кого не спроси.

Вот сейчас смотрю на свою полку с замечательными книгами СССР-читаешь и все понятно, умели писать, а рядом полочка с современной литературой-что не книга то бред какойто. Постарел.

P.S. Как то, давным давно писал статью в журнал Радиолюбитель про часы на ИЕ12 и 13, аж на целых 5 листов, опубликовали(правда только схему и ФИО), и ведь кроме справочника и паяльника никого и ничего рядом не было. Что то ностальгия нахлынула.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 фев 2013, 01:53 
Не в сети
Заслуженный участник Клуба ЗУ-ОКА275
Аватара пользователя

Зарегистрирован: 01 апр 2012, 16:43
Сообщения: 469
Откуда: Самое Популярное Болото ;)
Авто: 11113, Almera Classi
Имя: Владимир
А я не против Протеуса: не надо заморачиваться с макеткой, заливкой прошивки (программатором) и фьюзами. Особено если во время отладки приходится очень часто перезаливать прошивку после каждой правки. Но все же Протеус не панацея, и на каком-то этапе все равно придется переходить к живым макетам. Есть много моментов, которые в симуляторах невозможно учесть. Например, некоторые ЖК индикаторы могут работать немного не так, как в симуляторе, симуляторные кнопки и переключатели не имеют дребезга, и прочие с виду мелочи, но способные попортить жизнь. Впрочем, на первых порах, пока устройства и программы просты, мелочами можно пренебречь ;)

Ну, и работающее по собственной программе ЖЕЛЕЗО, пусть и макетка - это... Oka275 верно говорит :)

Еще несмотря на CodeVision могу порекомендовать к установке AVR Studio 4. Студию удобно использовать как отладчик, проверяя выполнение программы практически по тактам, исследовать и менять значения переменных внутри программы контроллера, наблюдать за состоянием портов и многое другое. И там весьма неплохая утилита для работы с программатором. Как минимум, с ней затруднительно отключить критически важные настройки контроллера (сброс и программирование через "5 проводов").

--
Наверное, я немного "того". Но моим первым проектом был вовсе не светодиод, а блок управления вентилятором охлаждения автомобильного двигателя. На контроллере AT90S2313 (чуть позже ATtiny2313, только потому, что эти МК даром достались), с цифровым датчиком температуры и двумя сегментными индикаторами. Увы, судьба этого проекта до сих пор не решена. Контроллер и программа работают как задумано, макет позволил собрать много данных о тепловых режимах двигателя, многие части программы использованы в других поектах. Силовая часть тоже заработала и стала основой еще нескольких управляторов, но со временем изменились приоритеты, и полноценный блок управления на машину так и не был установлен. К чему это я? Контроллеры Atmel и средства разработки для них весьма легки в освоении.

_________________
КамАЗ 11113 для души, Nissan Almera Classic для остального


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 фев 2013, 02:19 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 10 апр 2007, 22:36
Сообщения: 11206
Откуда: Новосибирск, Дзержинский
Авто: ВАЗ-21043
Имя: Алексей
Svan писал(а):
Вот здесь на фото моё детище

Огого! :shock: Вот это зверь! :) Только или я плохо смотрел, или не увидел концепции внутрисхемного программирования. Получается, программатор затачивался для единичного влития уже готовой прошивки, не требующей корректировок. Так редко бывает в своих поделках :) Особенно проблематично будет с SMD-корпусом, ибо его не просто надо вытащить из панельки для перепрошивки, а его надо будет выпаивать. В прочем, наверное можно будет вывести из него заветные 5 проводков с сигналами.

Svan писал(а):
А вообще, я тот Svan, который с радиокота.

А я это понял )) Приветствую лично! :)

foxghost писал(а):
протеус спросил т.к для меня все это темный лес, мало ли, сейчас это так "модно" у кого не спроси.

Всему свое время и место. Конечно Протеус дает удобства, несомненно. Кого впечатлит виртуальный успех - ну значит тому и быть :)

foxghost писал(а):
Что то ностальгия нахлынула.

Да, есть что вспомнить :)

Aquinas писал(а):
А я не против Протеуса: не надо заморачиваться с макеткой, заливкой прошивки (программатором) и фьюзами.

Володя, не ровняй крупное с влажным :) Здесь принцип какой - возиться с макеткой и заставить светодиод мигать! И будет он это делать по твоей воле, как прикажешь, без доп.пайки! только код!!! Расчет на восторг и положительные эмоции, удовлетворение собой и всем. А ты про рутину говоришь. Это у них еще впереди! :)

Aquinas писал(а):
Студию удобно использовать как отладчик, проверяя выполнение программы практически по тактам, исследовать и менять значения переменных внутри программы контроллера, наблюдать за состоянием портов и многое другое.

увы, так и не нашел этому применение. Или вернее сказать не научился этим пользоваться. Мне кажется, что огромная глупость отрывать МК от основной схемы. Например у меня весь движняк происходит по сработке INT0. При чем первый длинный импульс мы пропускаем ожиданием и начинаем различать только последующие. О какой к чертям отладке может идти речь, если нет главного - прерывания. Вот если бы эта фишка была в Протеусе, то ЦЕНЫ БЫ НЕ БЫЛО этой связке! Или я что то не так делаю. Так что я как нибудь сам отлажусь, используя или дрыгание портами (как маркерами) для осцилла, или дисплей, или UART, чем этой (на мой взгляд) бесполезной прогой.

То есть если я правильно понял, то у всех есть программаторы и Атмега 8 ?

_________________

Поблагодарить автора:
Контакты:
Телеграмм: alexSh154
Вконтакте
Одноквассники
Instagram
Skype: искать oka275 (в англ.раскладке)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 фев 2013, 02:52 
Не в сети
Уже тут был(а)

Зарегистрирован: 25 янв 2013, 10:12
Сообщения: 11
Имя: Олег
А в какой среде будем писать программы? Как смотрите на Algorithm Builder?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 фев 2013, 03:05 
Не в сети
Заслуженный участник Клуба ЗУ-ОКА275
Аватара пользователя

Зарегистрирован: 01 апр 2012, 16:43
Сообщения: 469
Откуда: Самое Популярное Болото ;)
Авто: 11113, Almera Classi
Имя: Владимир
Цитата:
Расчет на восторг и положительные эмоции, удовлетворение собой и всем. А ты про рутину говоришь

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

Цитата:
увы, так и не нашел этому применение. Или вернее сказать не научился этим пользоваться

Скорее, не было необходимости. Представь, что у тебя маленький МК (допустим, Tiny45), у которого уже заняты все пины. Например, МК ШИМит в 2 канала по какой-то хитрой математике, основываясь на данных с 2 АЦП. В общем, свободных пинов для ЖКИ или даже сегментника НЕТ. А использовать INT (не важно, внешнее или от таймера) слишком муторно. Лично я в таком случае буду ловить глюк, меняя в Студии значение одних переменных и смотреть значения других, предварительно подсчитав результат калькулятором или Excel'ем.

Так или иначе, я не настаиваю устанавливать софт, но упоминаю о возможностях.

Ладно, об этом еще рано.

Цитата:
А в какой среде будем писать программы?

НаСИльники мы :D Скорее всего, CodeVision
(я еще немного Delphi мучаю, но это к МК мало относится)

_________________
КамАЗ 11113 для души, Nissan Almera Classic для остального


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 фев 2013, 09:59 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 10 апр 2007, 22:36
Сообщения: 11206
Откуда: Новосибирск, Дзержинский
Авто: ВАЗ-21043
Имя: Алексей
mcmega писал(а):
А в какой среде будем писать программы? Как смотрите на Algorithm Builder?

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

По скольку я не знаю ассемблер на столько, что бы о нем писать, то буду изъясняться на том языке, на котором я могу связать хоть пару слов :) Это Си, компилятор CVAVR - как раз для начинающих. Потом люди уходят в AVRStudio (там чуть другой Си), или вообще в ассемблер. Я как раз подхожу сейчас к такой черте.

_________________

Поблагодарить автора:
Контакты:
Телеграмм: alexSh154
Вконтакте
Одноквассники
Instagram
Skype: искать oka275 (в англ.раскладке)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 фев 2013, 11:29 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 10 апр 2007, 22:36
Сообщения: 11206
Откуда: Новосибирск, Дзержинский
Авто: ВАЗ-21043
Имя: Алексей
mcmega писал(а):
А в какой среде будем писать программы? Как смотрите на Algorithm Builder?

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

По скольку я не знаю ассемблер на столько, что бы о нем писать, то буду изъясняться на том языке, на котором я могу связать хоть пару слов :) Это Си, компилятор CVAVR - как раз для начинающих. Потом люди уходят в AVRStudio (там чуть другой Си), или вообще в ассемблер. Я как раз подхожу сейчас к такой черте.

Разница между ассемблером (ASM) и Си есть, и заключается она в том, что первая ближе к архитектуре МК. Но язык этот более низкоуровневый. И если, например, нам надо решить вот такую глупую формулу: y=корень из((15346/0.025)*124)/14.4), то потребуется пол-листа текста! Для начала мы возьмем один регистр (руку), загрузим в нее значение 15346 (вернее две руки, цифра двухбайтовая), затем в другую руку (регистр) как то засунем 0.025 (что тоже наверняка не просто, потому что число с запятой) и как то будем это делить. Я не знаю как (не спец в asm), но наверное через разложение чисел на атомы. :)

В Си же эта формула так и останется формулой, и не надо расписывать пол-листа и тратить время на всякую ерунду. Это схоже с тем, что если мы пришли в гараж поменять масло в двигателе и три часа одевали перчатки на руки. Если тратить столько времени на написание решения не сложной формулы, то сколько у них занимает разработка целого устройства? Так что лучше начать изучение с Си, а там, если придет понимание и необходимость, можно переключиться на asm - это не так сложно, как кажется. И не слушайте советчиков, мол, лучше сразу учить хороший язык - если сразу учить "хорошее", есть все шансы не изучить вообще ничего!!! Потому что времени нет, дела, заботы и тд.

Но если у Си есть плюсы, то есть и минусы. Дело в том, что компилятор Си это ни что иное, как переводчик с одного языка на другой (на ассемблер). И как он переведет нашу формулу известно только ему. И в повальном количестве случаев это будет менее быстрый, а потому менее эффективный код. Кто переводил тексты в онлайн-переводчиках, и какие после этого получаются перлы, тот поймет. С языками программирования похожая ситуация.

Однако, нам не спутники запускать. Ну или другими словами не так страшен черт, как его малюют. Быстродействия хватает. А если встречаются критические ко времени задачи, никто не запрещает сделать в свой код вставку на Asm-е. Так у меня сделано в эмуляторе 1Wire-slave шины и все работает. И уверяю Вас, это все потребуется Вам не скоро, если вообще потребуется. Для простых часов, даже с функцией будильника, отдельной микросхемой Real Time Clock, термодатчиком и LCD, быстродействия заглаза хватает.

Потому спокойно и без паники познаем Си и начинаем наконец удовлетворять свои потребности в нового рода устройствах! :)

_________________

Поблагодарить автора:
Контакты:
Телеграмм: alexSh154
Вконтакте
Одноквассники
Instagram
Skype: искать oka275 (в англ.раскладке)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 фев 2013, 12:55 
Не в сети
Уже был(а), и не раз, и не два

Зарегистрирован: 17 фев 2013, 13:52
Сообщения: 125
Откуда: Беларусь-Гродно
Авто: Passat B3 1990
Имя: Артем
Можно попросить Ваше обучение на примере atmega8, а то это единственный дешевый и общедоступный мк в моей "деревне".
И еще, а какую нужно скачать программу для написания программ для мк?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 фев 2013, 14:42 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 10 апр 2007, 22:36
Сообщения: 11206
Откуда: Новосибирск, Дзержинский
Авто: ВАЗ-21043
Имя: Алексей
foxghost писал(а):
Можно попросить Ваше обучение на примере atmega8

В своем заглавном посте я это и предлагал.

Не посчитайте за ухмылку, я пытаюсь правильно скорректировать формат и прошу совет - быть может мне надо как то разделять текст? Или не надо столько много писать? (опять же если я чего то не допишу, то значит информация будет не полной). Как Вы считаете что мне надо сделать для того, что бы текст как можно больше усваивался?

foxghost писал(а):
И еще, а какую нужно скачать программу для написания программ для мк?

Да, кстати. Скачивать и устанавливать надо это http://www.hpinfotech.ro/cvavre.zip

Еще подождем какое то время и поедем.
А пока очень неплохо понять кто сколько раз начинал изучать и на сколько продвинулся.

_________________

Поблагодарить автора:
Контакты:
Телеграмм: alexSh154
Вконтакте
Одноквассники
Instagram
Skype: искать oka275 (в англ.раскладке)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 фев 2013, 02:43 
Не в сети
Уже тут был(а)

Зарегистрирован: 25 янв 2013, 10:12
Сообщения: 11
Имя: Олег
Я начал изучать второй раз. Начал с Algorithm Builder, могу небольшие програмки писать.
Очень помогли книги Евстифеев AVR семейства Tiny и Mega и Учебное пособие Часть 1. Если кому надо, могу скинуть.
На страничку не получается, 1Mb максимум.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 мар 2013, 22:06 
Не в сети
Уже был(а), и не раз, и не два

Зарегистрирован: 17 фев 2013, 13:52
Сообщения: 125
Откуда: Беларусь-Гродно
Авто: Passat B3 1990
Имя: Артем
Столько времени прошло а желающи к сожалению нет. Обидно будет если данная тема умрет не успев начаться. :shock:


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 мар 2013, 23:27 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 10 апр 2007, 22:36
Сообщения: 11206
Откуда: Новосибирск, Дзержинский
Авто: ВАЗ-21043
Имя: Алексей
Если будет интересно, поедем минимальным составом :) Только попозже, что то навалилось тут горестей полный рот. Еще на выходные в деревню ехать. Если будет возможность сесть в уголочке с ноутом и попрограммировать, то хорошо. Если нет, то минус несколько дней.

_________________

Поблагодарить автора:
Контакты:
Телеграмм: alexSh154
Вконтакте
Одноквассники
Instagram
Skype: искать oka275 (в англ.раскладке)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 мар 2013, 02:32 
Не в сети
Уже тут был(а)

Зарегистрирован: 10 мар 2013, 02:30
Сообщения: 15
Имя: Денис
Ребята,я с Вами!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 мар 2013, 09:10 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 10 апр 2007, 22:36
Сообщения: 11206
Откуда: Новосибирск, Дзержинский
Авто: ВАЗ-21043
Имя: Алексей
Тогда готовьте программатор, прошивальщик, добивайтесь того, что бы он перестал писать "МК не ответил" или вроде того :)

_________________

Поблагодарить автора:
Контакты:
Телеграмм: alexSh154
Вконтакте
Одноквассники
Instagram
Skype: искать oka275 (в англ.раскладке)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 мар 2013, 17:27 
Не в сети
Уже тут был(а)

Зарегистрирован: 10 мар 2013, 02:30
Сообщения: 15
Имя: Денис
У меня,в принципе,все давно уже есть)И программы стоят(CVAVR,AVR Studio и Pony Prog). Программатор STK200.Это все нужно было когда-то для сборки некоторых устройств,а вот самому научиться писать пока не получалось.Но надеюсь,что с Вашей помощью все получится.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 63 ]  На страницу 1, 2, 3, 4  След.

Часовой пояс: UTC + 7 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB