На чем писать  

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

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

    • Assembler
      150
    • C
      278
    • Что-то еще
      57


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

gunya    0

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

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


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

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

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

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

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


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

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

  • Одобряю 1

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


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

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

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


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

Найдите миллионы труднодоступных

электронных компонентов

letni    0

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

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

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

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


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

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

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


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

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

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

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

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


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

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

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


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

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

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

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

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

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

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

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

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

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

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

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


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

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

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    95
А зачем эта тема? Что-бы незнающим головы морочить?

...

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

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


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

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

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

  • Одобряю 1

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


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

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

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

Геннадий

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

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

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

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

  • Не одобряю 1

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


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

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

    • Автор: Kudich
      Всех приветствую!
      Сам я программирую на стандартной среде ардуинки, и в одном проекте потребовалось увеличить частоту ШИМ на портах 5,6,9,10,11,13 Arduino Micro. На этой ардуино стоит Atmega32u4, есть тут знатоки avr? Как повысить частоту на этих пинах?
    • Автор: Evg69
      добрый день. Вернулся к микроконтроллерам после длительного перерыва. Сижу туплю и даже гугл не помог.
      Два вопроса по Atmel Studio 7. Режим отладки. Симуляция.
      1. Как включить окно в котором можно посмотреть что контроллер выплевывает
      в UART? Не содержимое регистра, а типа терминала.
      2. Как подсунуть студии файлик с содержимым EEPROM?
    • Гость Keil
      Автор: Гость Keil
      Добрый день, ситуация такая - попались мне под руку куча рассыпухи в числе которых достаточное количетво тинек и прочей лабуды - пытась хеловродить, попробовал взять готовый пример работы тиньки и лсдишника здесь также имею ардуинку как  Айсипи и чудесно мигаю светодиодом на мк прошитом ею же  так вот при попытке залить код который по ссылке чуда не произошло.
      курение мануалов лсдишника дало понять лиш одно что старший и младший биты одинаковы с лсдишником со статьи - лсдишник рабочий (игрался контрастом одной строки через V0  и потенциометр ) - как в прочем и мк, было задумано ковырнуть все это в протеусе и атмельстудии, но результатом не увенчалось. Пожалуйста тыкните носом что да где не так.
      fail.zip
    • Гость Максим
      Автор: Гость Максим
      Всем светлым и умным головам привет!

      Никак не могу найти информацию о данном прерывании TIM1_BRK_UP_TRG_COM.
      Вопрос 1: Что это за стек или система прерываний? 
      Вопрос 2: Когда будет вызываться обработчик прерывания TIM1_BRK_UP_TRG_COM_IRQHandler, если также есть обработчик прерывания TIM1_CC_IRQHandler?
      Вопрос 3: период переполнения таймера равен 100 мкс. Сколько раз будет вызываться обработчик прерывания TIM1_BRK_UP_TRG_COM_IRQHandler до обработчика прерывания TIM1_CC_IRQHandler? По логике вещей, предполагаю, что 100 раз?
      Заранее благодарен!

      Всем радости))