На чем писать  

542 пользователя проголосовало

  1. 1. Что чаще используете в разработках?

    • Assembler
      148
    • C
      277
    • Что-то еще
      56


354 сообщения в этой теме

Jozef    0

Извечный вопрос не дает покоя. Кто и на чем все же предпочитает вести работу с контроллерами?

Лично я как научился работать на С, так и не могу перейти на Assembler, да и не очень то хочется это делать.

Какие все же преимущества и недостатки, окромя понятности и не очень понятности?

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


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

На ассемблере)

Еще пытаюсь перейти на Ц, но ассемблер все же знать нужно.

Свой паскаль пишу еще, так что скоро еще один язык добавлю в список)

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


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

Си не перевариваю на генетическом уровне... :) Asm, только asm.

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


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

Если что-нить в реалтайме работающее - то только на асме, ибо можно посчитать время выполнения. Что-нить примитивное, типа сбора данных с датчиков и вывод их куда-нить в последовательную шину или на дисплей - пишу на Си.

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


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

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

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


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

А чем в этом случае асм хуже? Сложностью?

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


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

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

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

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


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

Радуйся, что хоть Си учил в универе. У нас на радиофаке(ННГУ) преподовали фортран :blink: и Tex с MatLab(Хоть на этом спасибо...). :(:(:(

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


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

Раньше писал на асемблере для PIC16F84, а сейчас переключился на AVR и изучаю Си

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


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

Вот я как раз и пишу, что я учу в универе (ПГУ) именно Фортран. А на упомянутом предприятии подрабатываю (все равно стипуху пропарил :) ), причем далеко не программистом.

Изменено пользователем Jozef

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


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

Zer, Полностью вас поддерживаю и не перевариваю си,это не язык ,такое ощущение что его придумали чтоб выпендриваться перед теми кто на Васике пишет :)))) да и потому что незнаешь что генерит ,а на асме написал и что написал то и будет :) есть ощущение что рычаги у тя в руках а не у компилятора,да и когда делаеться проект который нужно уместить в махонькую память Си не друг :)

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


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

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

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


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

Это понятно что программисту без разницы какой язык.

А вот языку не совсем безразлично.

Если посмотреть на историю вопроса, то очевидно, что развитие микропроцессорной техники и строительство на базе неё компуйтеров все далее отдаляло железо и периферию от программиста. В то время когда каждый мог состряпать ЭВМ естественным образом вставал вопрос о языках высокого уровня. И всё дальше вверх и вверх. А к железу милости просим через драйвера.

Микроконтроллеры - это немного другая ветвь развития. Вот ядро, вот периферия, вот ОЗУ, вот ПЗУ, вот список команд. По сути это ЭВМ в которой есть простой и понятный доступ ко всему что только можно на самом низком уровне. И никому в голову бы не пришло ещё 10 лет назад делать какие-то компиляторы с верхних языков чтобы писать для ядра программы.

Это сейчас, когда степень интеграции настолько высока, что на малипусенький кристалл уместили столько всего что сам чёрт ногу сломит, при этом на аппаратном уровне заложив мультизадачность, тут уж без верхних яхыков стало не обойтись. И пошла такая мода на С для микроконтроллеров. Программиста "запирают" в рамки языка. Конечно. Тут тебе и синус и косинус и еще много подобных благ. А уж как оно там скомпилируется - бог его знает. У тебя же теперь такой размер ЗУ что можно и не задумываться.

Есть только небольшое "но". Это всё расхолаживает и опять отдаляет программиста от истинной сути вещей происходящих в кристалле. Программист микроконтроллеров - это не тот программист который Delphi only, к которому все привыкли. Нельзя быть программистом только верхних языков чтобы сесть и писать для МК какие-то глобальные приложения. Наоборот можно.

Резюме: пишите на чём хотите. А если хотите быть хозяином положения пишите на языке ядра.

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


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

Си всё-таки пошел от большого количества системных ресурсов и зажирания програмистов.

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


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

Я бы не стал так говорить. Язык С появился тогда, когда больших ресурсов не было. И уже тогда, на маленьких машинах типа Корвет на С можно было лепить неплохие вещи, которые на АСМе делались с огромным трудом. Как говаривал Козьма Прутков - нельзя объять необъятное. Если можно написать на С и "гутаришь на энтой мови" - напиши. Написание программы времени займет меньше, чем на АСМе. Но опять же - главное не язык - а возможность написания РАБОТАЮЩЕЙ программы. Одна строка на С, как правило, много строк на АСМе, и зачем трудиться лопатой, когда можно позвать экскаватор. Но косточки на раскопках обметаем кисточкой. "Верхний" программист сможет писать эффективно для микроконтроллеров только тогда, когда будет их знать изнутри, на уровне "железа". А этому учат только электронщиков, но их не учат программировать на С. Нас в далекие 70 годы учили на Фортране, но и машин персональных тогда не было.

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


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

Поддерживаю demaven. ну не знаю я Асм, и не обучали меня, действительно, неструктурному программированию. но знаю С. и пишу на нем. И работает, сравнительно неплохо. К тому же, думается мне, что на Асме запрограммировать, к примеру, вычисление натурального логарифма определенно посложнее будет. С хорош для вычислительной работы, но она и в микроконтроллерах бывает нужна. А если вам нужно в определенном порядке цепи включать, то почему бы не взять реле или хотя бы простые логические ИМС. работать с ними порой оказывается дешевле, хотя и нет в них той гибкости, какую позволяют контроллеры. И к тому же, после прошивки контроллер превращается в такой же прямолинейный автомат, что и логическая схемка.

Изменено пользователем Jozef

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


Ссылка на сообщение
Поделиться на других сайтах
Jozef    0
Zer: Си всё-таки пошел от большого количества системных ресурсов и зажирания програмистов.

Зато дал возможность еще более массового распространения профессии, как и все прочие языки высокого уровня. Как было сказано, двигатель прогресса - это лень. Хотя и приводит это к росту неприспособленности человека.

Между прочим, ЯПВУ пошли задолго до С, так что не на Страуструпа нам бочку катить. Первые языки, конечно, были узко специализированы, взять тот же FORTRAN. Билл Гейтс послужил популяризации программирования, ибо создал Basic, являющийся до сих пор (местами) стартовой площадкой для программистов. Отпала просто серьезная необходимость лезть непосредственно в работу процессора и его окружающих. Прогресс...

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


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

Процессора и его окружающих - да.

Микроконтроллера и его встроенной периферии - нет.

Если нет серьёзной необходимости лезть, значит есть избыточность, а то что вы делаете на МК может быть сделано на чём то другом, менее избыточном.

Если в приложении подразумевается использование МК, и без него не обойтись, то ИМХО непосредственно лезть в работу ядра придётся так или иначе. Проще это делать на языке ядра.

К слову о том что там "лограифмы и прочие неберущиеся интегралы". Можно подумать что всё это "с неба" падает а не рассчитывается в конечном итоге в том же арифметическом модуле ядра. Которое очень ограниченно в своих возможностях. Классически это только две операции сложение и сдвиг.

Так вот все мат. функции могут быть разложены в ряды, либо затабулированы (по справочнику о Высшей математике). Проблем особых тут не наблюдается. Берем книжку "Полный дизассемблер ПЗУ ZX Spectrum", находим там процедуры относящиеся к встроенному калькулятору, и изучаем. Там довольно внушительные возможности FP вычислений, всё в машинных кодах писано.

  • Одобряю 1

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


Ссылка на сообщение
Поделиться на других сайтах
Zer    551
Зато дал возможность еще более массового распространения профессии, как и все прочие языки высокого уровня. Как было сказано, двигатель прогресса - это лень. Хотя и приводит это к росту неприспособленности человека.

May be, may be...

Я тоже на VB для компа проги пишу, но это уже несерьёзно... <_<

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


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

я вот на бейсике ниразу ничего вобще не писал... пока учился классе в 7-8 немного поизучал си..

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

асм - то же си, только голова должна додумать как сделать на асме switch и тд... зато у асма больше возможностей... по идее вообще начиличие различий выс. и низкий уровни отчасти портит систему...

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

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

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


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

Гы АСМ реально рулит Ведь

Ассемблер язык аппоратного уровня и при работе с железом просто не заменим!!! Асм плотнее всего взаимодествует с платформой нежели языки выс уровня

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

На асме мона написать процедуры функции а потом ими пользоваться как вздумается.

P.S. а Бейсик (уневерсльный символьный код для начинающих) под МК это мазахизм

P.P.S вы исчё на них виндовз поставьте ))

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


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

Basic под МК я ещё не видел... :blink:

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


Ссылка на сообщение
Поделиться на других сайтах
Radan    1
Basic под МК я ещё не видел... :blink:

Вот Basic под AVR: http://www.mcselec.com.

А здесь попытки продвижения в русскоязычной части НЕТа - http://bascomavr.3bb.ru/, http://ledeffects.net/pages/?id=12.

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


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

Виндовз на МК... хм...

МК с объемом Flash 2 Гб, EEPROM 256 Мб и быстродействием 1,5 ГГц? оригинальная была б штука. Особенно если б из его возможностей использовались бы только MSOffice, как обычно бывает :)

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


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: Stratix
      Здравствуйте, у меня проблема с прошивкой разных устройств из-за программаторов. Дело в том что у меня есть некоторое количество китайских и самодельных программаторов для разных производителей, с ними постоянно какие-то проблемы, некоторые отказываются нормально работать на windows 10(другие версии ПО не устраивают), другие не работают с последними версиями сред разработки и т.д. Так же нужно прошивать схемы памяти. Хочу прошивать устройства без постоянной сборки программаторов и неудобств. Думаю о двух вариантах: взять оригинальные программаторы для всех производителей: altera, xlinx, arm, pic, avr(некоторые найти сложно, например оригинальный usb-blaster и высокая стоимость в сумме), второй вариант: взять универсальный программатор, который бы поддерживал все новые микросхемы, а вот с этим проблема, большинство универсальных программаторов не шьют stm, плис. Есть ли вообще реально универсальные программаторы? Мне было бы намного удобнее если на столе б лежал один программатор, а не куча. Смотрел список микросхем chipprog-48, пока что самый большой, к сожалению не поддерживает новые fpga, например: cyclone IV. Связывался, сказали что поддержки не будет и в будущем. Стоит ли взять chipprog-48 в 2018 году или есть программаторы лучше, с большим списком микросхем?
    • Автор: DimonRX
      Всем доброго времени суток!
      В AVR-ках я новичёк и очень нуждаюсь в вашей помощи.
      Задача у меня следующая. Есть драйвер управления серводвигателем на ATmega88. Помимо основной задачи ATmega88 через 74HC164D выводит на сдвоенный 7-ми сегментный индикатор направление вращения мотора в виде анимации (вращает сегмент по или против часовой стрелки). Рядом есть некая поделка на ATmega8, одной из задач которой является определение направления вращения мотора и, в зависимости от направления, выполнение различных действий. Как мне это сделать? Как подружить две меги? Всем заранее спасибо.
    • Автор: Kirill Lubinets
      Дано: отладочная плата STM32F303VC, индукционный датчик.

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

      Информация по датчику.
      Индукционный датчик удара, шок сенсор, Arduino может использоваться в проектах на микроконтроллерах (в т.ч. Arduino), в которых нужно следить за уровнем вибрации или подобных механических возмущений. Принцип действия датчика основан на электромагнитной индукции. Движущийся стальной, ферритовый или магнитный сердечник относительно катушки создает в катушке ЭДС, подходящую по амплитуде ударного воздействия на систему. Чувствительный элемент датчика установлен в прозрачный пластиковый параллелепипед для защиты от действий внешней среды.
      Для использования датчика нужно подключить его к Arduino контроллеру или другому микропроцессорному управляющему устройству, подать питание, создать программу для работы с датчиком или использовать готовое решение. На корпусе датчика есть два отверстия, с помощью которых можно жестко закрепить датчик на плоской поверхности. В состоянии покоя напряжение на выходе из датчика около 5 В, при возмущении напряжение на датчике падает пропорционально силе возмущения.
      Индукционный датчик удара, шок сенсор, Arduino имеет один 3-контактный разъем для подключения к контроллеру и питания:
      контакт обозначенный «–» – общий контакт;
      средний контакт – напряжение питания;
      контакт S – аналоговый выходной сигнал датчика.
      Датчик может питаться как от Arduino контроллера (другого микропроцессорного управляющего устройства), так и от внешнего источника питания. Напряжение питания 3,3 – 5 вольт постоянного тока.
      Характеристики:
      принцип действия: индукционный;
      выходной сигнал: аналоговый;
      напряжение питания: 3,3 – 5 вольт постоянного тока;
      размеры: 30 х 18 х 11;
      вес: 2 г.
      Shock.7z
    • Автор: Петр Серёгин
      Здравствуйте, у меня проблема.
      Не программируется ATmega2561-8AU. Программатор USBASP. Микроконтроллер 100% рабочий. Питание и контакты программатора припаяны правильно.
      Что можете посоветовать? 
    • Автор: RIMUS1989i
      Всем здравствуйте! Есть необходимость метирить переменное напряжение от трех источников 220v. И питание получать от них же. (1.) Набросал схемку, будет ли она мерить и с какой точностью? измерять думаю в диапазоне от 150 до 250в. по идее точность будет 0.1 вольт. (2.) Но какие подводные камни я могу поймать? (3.) Или придется еще и операционный усилитель лепить на каждый вход АЦП?

  • Сообщения

    •  Эти городские вообще ошалевшие, лосЯ во время гона на них нету, идут собирают всё подряд (где прошли городские грибов вообще нет!)  потом выйдут на опушку, начинают по справочнику определять - этот съедобный, этот - нет... полкорзины выбросят и обратно в лес. ИМХО - синдром супермаркета, типа на выходе должна быть полная корзина, забитая всякой ху..нёй , а надо-не надо - дома разберёмся. Ну а по поводу: сыроежка  - гриб не гриб, и насколько она сорная, тут ещё и умение приготовить! Мама, например, готовила абалденные на вкус солёные  волнушки (не валуи), предварительно вымачивая..., пожалуй повкуснее рыжиков. но мороки с приготовлением побольше... Что в корзину собираю (лес рядом, выбор большой) : Белые, красные (подосиновики), маслята боровые и сопливые, обабки (подберёзоваки), опята, рыжики, грузди, лисички, синявки (тутошнее название сыроежек), иногда опционально беру зонтики, дождевики, сморчки со строчками. с уважением, Сергей
    • Не знаю у кого казус пропал но в новостях он есть.
    • А я вот какой штучкой пользуюсь уже много лет. Изготовил из сталистой пружины.... На палец не налазит, на гвоздике в мастерской висит.
    • Alex Falcon, а знаете, как раз в демпфере и как раз в такой схеме, довольно часто ставят "медленные" диоды с tрас порядка 1us. Что до секционных трансформаторов, под обратноходовые, то еще в прошлом веке существовала технология "блинной" намотки - это когда обмотки собирали как блины на вертел, попеременно блины первичной и вторичной. Потом, первичную соединяли последовательно, а вторичную параллельно. Получался трансформатор с низким рассеиванием и низким выходным напряжением. 
    • В чип и дипе есть, но там левандос.  Замените на HSD669/HSB649
    • Какими транзисторами заменить 2SD669 и 2SB649, на Mouser и в Digikey нет таких.
    • Вопрос щас задам, который может показаться дурацким. Опустим то, что написано в учебниках, попробуйте сами дать обоснованный ответ на вопрос: "Почему я считаю, что "в АД поле крутится" и о поле чего именно допустимо сказать, что в АД оно крутится?"