• Объявления

    • admin

      Просьба всем принять участие!   24.11.2017

      На форуме разыгрывается спектроанализатор Arinst SSA-TG LC (цена 18500 руб). Просьба всем перейти по ссылке ниже и принять участие!

На чем писать  

539 пользователей проголосовало

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

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


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

gunya    0

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

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


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

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
$david$    0

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

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

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

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


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

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

  • Одобряю 1

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


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

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

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


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

хорошо знать и асм и си.. а там все зависит от поставленной задачи

асмовские вставки в си иногда очень хорошо помагают

хотя все же большее предпочтение отдаю Си, там все одинаково и для всех одинаково

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


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

когда начинал писать программы на ассемблере для старого-доброго синклера, уяснил, что сначала нужно блок-схему составить, а уж потом, программу писать. так вот, Algorithm Builder это оптимальный вариант: составляется блок-схема и ЭТО И ЕСТЬ программа. хотелось бы узнать мнение других людей по поводу работы в Algorithm Builder.

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


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

Для с51 контролера пишу на Bascom-8051(Бейсик но с небольшими своими особенностями :) ) , сейчас заказал AVR микрухи и наверно буду писать уже пожалуй на Bascom-AVR ( то же самое но с поправками на авр).

К сожалению си знаю плохо :( , неплохо знаю паскаль, но жаль для МК такие языки не встречаются :(

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

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


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

Бесполезный спор!!!!!!! Сначала ставиться задача под нее выбирается камень,а потом основываясь на задачи и типе камня выбирается язык и составляется алгоритм!!!!!

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


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

Сначала ставится ЗАДАЧА, потом составляется АЛГОРИТМ, ну и только после этого можно что-то сказать о камне.

Ну а про язык я уже писал, наиболее оптимальный СИ, ну естественно с возможными вставками ассемблера, в наиболее критических местах.

На голом асме большой проект с математикой сложно написать.

Среда программирования - на вкус, наверно.

Я предпочитаю IAR, в силу ее универсальности, т.е. она работает практически с любым МК.

Да и возможности отладки там хорошие.

Хотя для западных стран эта среда стоит денег.

P.S. Не вижу большой разницы между Си и Паскалем.

Организация циклов и структура программы одинакова.

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

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


Ссылка на сообщение
Поделиться на других сайтах
Goodefine    94
Сначала ставится ЗАДАЧА, потом составляется АЛГОРИТМ, ну и только после этого можно что-то сказать о камне.

Зачастую алгоритм сильно зависит от возможностей применяемого камня. Поэтому после ЗАДАЧИ идет ТЕХНИКО-ЭКОНОМИЧЕСКИЙ РАСЧЕТ из нескольких итераций, в котором участвуют подходящие камни с оценкой затрат на программирование оных. Меньше флэша - стоимость камня меньше, затраты на программирование (степень детализации алгоритма) больше, и наоборот... Поэтому, АЛГОРИТМ и выбор камня скорее параллельные процессы...

P.S. Не вижу большой разницы между Си и Паскалем.

Здесь была обширная дискуссия по этому поводу...

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

Зато реализующий код существенно длиннее

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


Ссылка на сообщение
Поделиться на других сайтах
Migray    5
P.S. Не вижу большой разницы между Си и Паскалем.

Здесь была обширная дискуссия по этому поводу...

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

Компиляторов Паскаля для МК не много, не для всех камней есть, и с этим основные проблемы.

Но в свое время, примерно в 92-м году изучал Паскаль и Си для персоналок, потом естественно Дельфи и Билдер, без проблем могу написать прогу на том, что в данный момент стоит на компе. Большой разницы не вижу, если чесно.

Для МК специально не сравнивал, просто лениво.

Собственно из-за лени и выбрал IAR (Си), дабы не изучать еще что-то, если придется менять проц.

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

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

Зато реализующий код существенно длиннее

Ну ни кто не мешает объявить новый тип, правда придется для каждой переменной отводить по байту.

Можно даже в программе написать "True" и "False" вместо "1" и "0"

Кстати многие МК могут работать с битами на уровне команд, и для них хороший Си компилятор сформирует оптимальный код, без использования масок.

А вообще, возвращаясь к теме, для новичка хорош тот язык, на котором есть куча примеров, а для профессионала - сам выберет, в зависимости от желания :)

Учиться все равно придется постоянно :)

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

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


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

Я использую CodeVisionAVR и симуляторы VMLAB PROTEUS - очень удобно.

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


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

Алгоритм работы проца естественно зависит от его возможностей.

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

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

Тут Goodefine прав, итераций может быть немало.

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

Возможно мы недопоняли друг друга, будем считать эти 2 этапа, железо/алгоритм взаимосвязанными.

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

1. - Смотрим, что есть для данного конкретного железа.

2. - Шеф сказал - пишем все на ххх - значит все :(

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


Ссылка на сообщение
Поделиться на других сайтах
rtfcnf    1
2. - Шеф сказал - пишем все на ххх - значит все :(

А мы раз шефу на фразу «пишем на …» Ответили да пошел ты

Те, кто уволились так и пишут на IAR

Да и те, кто остался то же пишут на IAR

:D:D:D

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


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

Но все же в большей степени от применяемого компилятора (видели бы вы кучу бесполезного кода от применения стандартных библиотек и макросов, натыканных языками высокого уровня). Поэтому я предпочитаю писать исключительно на ассемблере, хотя год назад для меня он был "темный лес". Теперь удается "сжать" чужую "пляску" в несколько раз(!). Вот только что "причесал" одну прошивку (после дизассемблирования). Код уменьшился с 13,8кБ до 5,5кБ при полном функциональном соответствии.

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


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

когдато писал на паскале. теперь 90% всего кода пишу на Си.

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


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

Программирование не люблю последнее время:)

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

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

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

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

Каждому свое и спорить что лучше, двольно бессмысленно...

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


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

Это мнение касается только АВР - и не только...

Вопрос ("Кто на чем чаще пишет для Avr и не только?"), конечно, важный!

Но не самый главный при разработке устройств - к нему мы ещё вернёмся.

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

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

Далее разбивается задача на аппаратную и программную части. Чем больше будет решаться задача аппаратной частью - тем меньше остаётся для программной части (в этой части xmega здорово помогает).

После этого изучается вопрос минимального времени ответа устройства на внешние события.

Если это порядка 100..200мс - то лучше программировать на ЯзыкахВысокогоУроня(ЯВУ)- не забивать себе голову всякой ерундой(всё и так получится и, что будет сказано ниже, Вам это не нужно), а если критичное время АПК составляет, например, 1мс (при опросе других mega128, связью контроля на PC, командами на нижний уровень по иерархии RS485 ... ), то,конечно, Вы мой "слушатель и вниматель" (идея упёртости - зачем мне знать другое, если это можно сделать и на том, что я знаю и мне это лучше известно...? - mega128 - "Это же просто..."), потому,что если Вы не ушли на другой МК(xmega,ARM..) - Вы поймёте, почему никто в мире Widows не использует ассемблер..., а только Си(особенно) и прочие!

(

Тут необходимо немного отвлечься от предмета разговора и однозначно ответить на "больной вопрос о Паскале".

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

Дальнейшее продолжение Object Pascal - OBERON(Никлаус Вирт и его последователи) - он доступен в понимании и его описание есть на многих русско-язычных сайтах(engl даже для ARM7(2005)). OBERON набирает обороты, а Delphi - это отряд без командира...

)

Продолжение следует...

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


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

А зачем эта тема? Что-бы незнающим головы морочить?

Милостивый, погодите, продолжение последует!

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


Ссылка на сообщение
Поделиться на других сайтах
Goodefine    94
А зачем эта тема? Что-бы незнающим головы морочить?

...

Ааа... Ну просветите незнающих... Походу, истинный путь только Вам известен...

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


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

Что-то мне не нравится второй абзац данной статьи. Мне видится какой-то подтекст. К чему она призывает "незнающих"? Не заморачиваться с познаниями? Не развиваться как специалистам, изучая разнообразные типы МК? Это очень похоже на речь конструктора, но не радиолюбителя. Хотя если второй, почти всегда бывает первым, то первый далеко не всегда бывает вторым.

Извини, gvl, но я тебя, честно, не понял. Значит, "зачем забивать себе голову всякой ерундой", достаточно познать элемент 2И-НЕ и ты уже "цифровик"? Ведь на нем (2И-НЕ) можно собрать большой набор схем различного направления. Вот только габариты могут быть огромные (как ресурсы, сжираемые Windows). Все-таки, для правильного выбора МК, радиолюбитель должен знать все типы, из которых будет выбирать тот или иной для своей, конкретной схемы. Опять же не все радиолюбители в домашних условиях (не путать с производственными возможностями конструктора) могут позволить приобресть себе, перечисленные тобой, типы МК. Просто их нет в продаже, в их местности. Вот поэтому на форуме есть всякие МК (кто что нашел). И чем больше человек их познает, как я думаю, тем лучше. Больше у "корифеев" будет конкурентов. :) И это хорошо.

  • Одобряю 1

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


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

Goodefine “А оно надо?...”

Конечно надо! Сам был в этой ситуации и не мог получить ответ на вопрос “На чем программировать?”. На этом форуме – тоже не увидал. Встречный вопрос – он же ответ: “Почему количество просмотров этой ветки так велико?”.

Геннадий

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

"Зачем забивать себе голову всякой ерундой" - наверно фраза не доскональная, но в общем верная. Например, зачем разбираться в организации работы SPI в каждой конкретной ситуации или как сделать обработку квадратурного датчика с частотой 150 кГц...

МК – это инструмент для достижения поставленной задачи – чем лучше Вы владеете инструментом – тем больший круг задач Вы сможете решить (мастерство не утаишь!). Если Вы знаете досконально несколько МК – честь Вам и хвала.

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

  • Не одобряю 1

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


Ссылка на сообщение
Поделиться на других сайтах
Goodefine    94
...Конечно надо! Сам был в этой ситуации и не мог получить ответ на вопрос “На чем программировать?”. На этом форуме – тоже не увидал...

И не увидите. Тем более не дадите. По той простой причине, что однозначного, верного ответа на нет. И не только на этот вопрос...

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

    • Гость самодельщик
      Автор: Гость самодельщик
      Здравствуйте. Посоветуйте пожалуйста схемы программаторов для AVR и STM- универсальный не надеюсь.
      Имеется в наличии usbasp китайский-работает как гнилой еврей раз в неделю. Сделал PICKIT2 за 4 года ни одного отказа. usbasp может сегодня тупо отказываться работать на 3 компьютерах, на следующий день как часики прошивает 1-2 камня и опять отдыхает. Надоело. 
    • Автор: Serge77
      Обязанности:
      · Разработка радиоэлектронных и GSM-устройств: разработка схем, программирование, разводка печатных плат, разработка документации.
      · Программирование микроконтроллеров STM, AVR, ARM, PIC на языке С/С++
       
      в личку или en@argument74.com
    • Автор: Flash6300
      Приветствую всех. 
      Как на 2313 рассчитать значение для записи в эти регистры, если я хочу получить задержку в 6 секунд?
      OCR1AH
      OCR1AL
      TCCR1B
       
    • Автор: Maoser
      Всем доброго времени суток.
      Помогите пожалуйста начинающему.Нужна программа для Attiny13a на языке С.
      Вот такой алгоритм:
      Нажимают кнопку и начинают мигать светодиоды типа "Бегущие огни", при отпускании остается светится один из четырех, причем в случайном порядке как в рулетке.Нажимают и снова начинают бежать- отпускают остается гореть один.
    • Автор: hardbar
      Есть проект СГУ на AVR. Музой проекта послужил не безызвестный проект  СГУ на PIC.
      Хотел сделать его ещё в 2012 но знаний не хватало. А вот сейчас знаний хватает, вот и сбылась моя мечта. 
      Пока что прикреплю видео, когда напишу статью о нем, ждите публикацию на ГЛ странице сайта. 
      В качестве динамика использовал колонку от Соньки музыкалки.

       
  • Сообщения

    • 1.  LA CROSSE это тот-же TECHNOLINE 100%. Просто в Германии делают  LA CROSSE под маркой TECHNOLINE. 2.  BC-700  имеет несколько хитрых функций (тренировка, цикличный заряд-разряд), но не всем и не всегда это нужно. Поэтому можете посмотреть на BC-450 или  BC-250. И тот и другой - вполне нормальные "интеллектуальные" зарядки. Можно заряжать любое количество от 1 до 4, можно вообще разные, например 1 АА + 2 ААА. Там все 4 канала независимые. Имею на руках и 700 и 250 - нормальные зарядки, своих денег стоят.  Обзор интеллектуальных зарядных устройств Technoline BC250/450
    • Это одному знакомому студенту загадали. Препод угорает - "то, что на заводе толпа инженеров сочиняет несколько лет, вы должны сочинить к четвергу"
    • Саш, Q3/5 и  нужно максимально сблизить, при полноценной двусторонке это возможно без проблем. Базы Q4/6 должны сидеть на земле, т.к. усилитель в инверте и между ними не обязательно тянуть дорогу .Просто ВП забыл нарисовать это на схеме. На моей ПП есть это соединение. Питание на эмиттер Q11 тоже веди через конденсатор. Землю акустики расположи рядом с земляной клеммой платы. Сразу после резисторов 10 Ом нужны электролиты землю не менее 220 мкФ, иначе резисторы бесполезны.
    • Подал на вход усилителя синус 1кгц, получил на выходе ровный синус, без искажений. По каскадам возбуда вроде нигде нет Завтра возьму коньяк и буду думать куда подевался плюс )
    • https://ru.aliexpress.com/item/Liitokala-lii-500-LCD-3-7V-1-2V-AA-AAA-18650-26650-16340-14500-10440-18500/32565687896.html?spm=a2g0v.search0104.3.20.pNjoVx&ws_ab_test=searchweb0_0,searchweb201602_0_10152_10065_10151_10344_10068_10345_10342_10343_51102_10340_10341_10543_10609_10541_10084_10083_10307_10301_10611_10610_10312_10313_10059_10314_10534_100031_10604_10603_10103_10607_10606_10605_10594_10142_10107_10125-10344,searchweb201603_25,ppcSwitch_0&algo_expid=e47071c9-ff1c-42c0-a17a-60284f98bfc5-2&algo_pvid=e47071c9-ff1c-42c0-a17a-60284f98bfc5&rmStoreLevelAB=5