Свежие обсуждения
Не про радио

Творческий кризис, или как стать программистом

1 3 8

Я начинал с цикла статей Зеленко, Панова и Попова в Радио 82г. Там настолько всё предельно просто и доходчиво расписано, что после понять асм и архитектуру 8048/8051, СМ ЭВМ, 8088/х86, AVR не составило особого труда.

 

DWD: кажется. У Z80 - то ли 110, то ли 111...

там их более 700!!! (вы забыли прифексы)

Link: Ну ну... хороший совет

а чем плох? Ассемблер дает возможность со временем понять логику работы и освоить возможности того или иного чипа. Я сам начинал с ассемблера процессоров ВМ80, потом зацепил Z80. Целиком программы на ассемблере не писались конечно, однако узкие места - только на нем. Знание и управление процессором почти с помощью машинных кодов (тут надо наверное оговориться, что язык ассемблера это все же язык, требующий компиляции в реальные машинные коды) дает некую психологическую уверенность, что в руках находится полный контроль и если что то не так, то искать надо именно ошибку, свою ошибку, а не пытаться выловить чужой баг компилятора.

DWD: Но если TEX хочет именно изучить АСМ, то ему придётся именно "Писать самому библиотеку по выводу символов на ЖК дисплей"

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

 

TEX: Ничего так задача? Сильно замахнулся?

Сильно. И мк не потянет ИМХО и программист не потянет. Для первой задачи нужно что то попроще. Мегу поменять на новое. Для чего, DWD описал для чего. Кстати вот может освещение светодиодное на мк и попробовать с темп датчиком, с ШИМ, с датчиком освещённости и любой звук включением, вплоть до речи, с выходом на вкл вентилятора или с элементами сигнализации. Прошёл рубеж и светодиод лампа включился. И практично и дальнобойно и по мере нарастания задачи усё будет работать и на любом этапе можно остановиться и считать вполне его завершённым. А на первом этапе даже обычный светодиод можно воткнуть вместо силового и экспериментировать. Если сама светодиодная установка вызывает сложности в сборке. Ну вот с Лёха и объединитесь. А то мужик то же хочет продвижения в ту степь и на контроллеры видно что ещё не перешёл?, видно по схемам из другой темы.
http://pro-radio.ru/urbanism/10396-253/
А продвижения в этом направлении репортажно сюда в форум складывайте. Мож кто ещё своё начальное радиолюбительство вспомнит. И глядишь народ потянулся. И подтянулся.

 

Nintashi: а чем плох? Ассемблер дает возможность со временем понять логику работы и освоить возможности того или иного чипа.

Знание ассемблера нужно в крайне редких случаях, я думаю что для любительских целей эти случаи сводятся к нулю. Хотя любитель любителю рознь, кстати не стоит забывать что сила программиста не столько в знании команд ассемблера или команд языка высокого уровня программирования, а в знании программных методов реализации той или иной задачи, если человек изначально не знает прикладную математику то знание команд ассемблера не сильно то и поможет. Если человек не знает как работать в дополнительном коде, не знает чем лучше или хуже сложение (умножение) в дополнительном коде, то знание ассемблера тут не поможет, а вот язык высокого уровня программирования избавляет голову от подобных знаний и дилемм, т.к. компилятор сам делает всё что нужно. Хотя следует признать что современный ассемблер уже намного выше того ассемблера который применялся для программирования 80 процов, и наличие готовых библиотек в ассемблере для математических операций тоже избавляет программиста от дилемм выбора системы исчисления при математических операциях.
В общем если стоит цель сесть и ехать, то нужно выбирать новые МК и новые среды разработки програм, если есть желание изучить всё и вся то конечно можно начинать с 80 процов и их ассемблера, т.е. идти от простого к сложному, но возникает вопрос на кой ляд заниматься доскональным изучением тех процов которые вполне вероятно не понадобятся в реальном любительском изделии пр использовании современных МК...

 

TEX: Хочется знать ассемблер, но понимаю, что разобраться с ним не смогу никогда. Уважаемый форум, что делать? В отчаянии

Я начинал с PIC16F84A, для него собрал программатор и отладочную плату - по светодиоду на порт. По простым примерам научился зажигать нужный светодиод. Потом бегущий огонь. Потом различные эффекты, а потом... декодер FSK-сигнала с телефонной линии. Делал топорным методом, на бумаге разрисовывал форму сигнала и как это видит МК, гонял в Протеусе и таки заставил его работать виртуально и затем в реале.
Ассемблер не так страшен, как кажется, зато легко дает понять как работает МК, почувствовать ограничения и возможности. Затем модно переходить на Си и писать "большие" программы.

Вот эта статья была для меня стартом: http://picprof.com/nach.htm оттуда и программатор, которым долго работал, до покупки PICkit2.

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

 

Link: выбирать новые МК и новые среды разработки програм
в части радиолюбительской практики я бы лучше сказал - выбирать те МК, которые наиболее доступны и есть в продаже или есть возможность выпаять или достать и использовать последние версии программ для работы с ними. МК ведь тоже радиодеталь и её тоже можно сжечь. Когда экспериментируешь - это можно сделать запросто.

 

А у меня первой задачей было - управлять синтезатором на 1015ХК2(3)

 

Nintashi: в части радиолюбительской практики я бы лучше сказал - выбирать те МК, которые наиболее доступны и есть в продаже или есть возможность выпаять или достать и использовать последние версии программ для работы с ними.

Ну так я и рекомендовал начать с АРМов, у них очень красивая серия МК, на борту у этих дешёвых МК находится практически всё и вся, избыточность очень велика, и отношение цена/функционал у АРМов сейчас самая низкая, т.е. непревзойдённая. Атмега 16 тоже вполне напичканный МК, но всё равно, по сравнению с АРМами он уступает в ряде случаев, в том числе в цене...

 

Link: Ну так я и рекомендовал
Вы меня не поняли... к примеру у ТЕХ есть атмеги, у меня атмега всего одна... 128 и две еще какие то... уже не помню, зато по случаю досталось штук 20 PIC16F628A... а АРМмов у нас нету... мы же не на заводе... радиолюбители используют то что есть под рукой, на то и радиолюбители... ... Аааа, у меня еще и чипы Атерра есть... но думаю их вообще невозможно будет приспособить - только в мусор. А ТЕХ нужно будет начать с ветки по микропроцессорам для начинающих. Там даже глупые вопросы, которые вовсе не кажутся глупыми можно будет позадавать и думаю, никто по рукам бить не будет, а помогут добрым словом и дельным советом.

 

Nintashi: Вы меня не поняли... к примеру у ТЕХ есть атмеги, у меня атмега всего одна... 128 и две еще какие то... уже не помню, зато по случаю досталось штук 20 PIC16F628A... а АРМмов у нас нету... мы же не на заводе... радиолюбители используют то что есть под рукой, на то и радиолюбители...

Вы меня тоже не до понимаете, я рассматриваю две ветви развития ТЕХа как начинающего программиста МК, если он в конечном итоге хочет поиметь с МК некий практический максимум и пользоваться этими МК длительное время то нужно начинать с самых современных народный МК это типа АРМы, если же у него есть просто желание размять мозги и просто изучить МК то можно взять любой имеющийся под рукой МК.
По поводу доступности МК, у меня тоже на работе валяется десяток АТ89, ну так они уже второй десяток лет валяются т.к. я перешёл на атмеги, из-за их функционала и цена тогда у них была куда ниже чем сейчас. Сейчас смотрю на АРМы и восхищаюсь ими, но мне лень изучать новую среду разработки и архитектуру АРМов по этому я всё ещё сижу уже на дорогих и уже малофункциональных атмегах. Вот всё жду задачу которую атмега не потянет что бы припёрло перейти на АРМы, но к сожалению (или к счастью) таких задач сейчас нет и не предвидится.