Перейти к содержанию

Jozef

На чем писать  

595 проголосовавших

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

    • Assembler
      165
    • C
      303
    • Что-то еще
      66


Рекомендуемые сообщения

Да вроде бы это народная мудрость "всяк кулик свое болото хвалит".

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

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

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

асмосектанты мне иной раз напоминают аудифилов по образу мышления

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

Изменено пользователем Геннадий
Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

сам рад бы в принципе кодить только на плюсах, но в последнее время совестливый стал. Ломаный софт стараюсь не пользовать. А g++ к кокосу толково приладить тямы так и не хватило

сейчас мне скажут - ну так бы сразу и сказал ))))

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

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

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

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

  • 4 недели спустя...

У меня вопрос небольшой. Я собираюсь написать небольшую программу на ассемблере для ATMega1284P в Linux,

там есть avra - ассемблер для 8-битных процессоров. Я должен использовать m128def.inc?

Ещё меня удивило, что, хотя в пакете binutils-avr есть avr-варианты: avr-as, avr-ld и другие, в справке по ним

avr почему-то не упоминается. Такое впечатление, что в него поместили общие варианты man'ов.

Пётр.

Изменено пользователем Peter_I
Ссылка на комментарий
Поделиться на другие сайты

А m1284def.inc нет, только 128? Если что, можно из Атмеловского варианта скопировать или еще откуда. Просто кажется, использовать родной заголовок надежнее, чем похожий.

avr-as,avr-ld и прочие, вероятно, кросс-утилиты, аналогичные сборкам для win или, там, arm, то есть функционал у них одинаковый, отличия только в конечной архитектуре.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

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

а какой смысл корябать под 128-ю "немного" кода на асме? Не проще все это сделать на языке повыше? Ресурсов там на солидную прогу...

я бы понял еще если бы под 629-ый или тиньку. но 128, это не серьезно. Другой класс камней

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

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

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

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

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

Учение - изучение правил. Опыт - изучение исключений.

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

Или человек хочет научиться. С этой точки зрения выбор очень правильный. И мощный контроллер, который сложно забить говнокодом (а кто поначалу не генерировал подобное?!) с кучей разнообразной переферии. Разве что корпус не слишком удобный, но вполне паяемый. И выбор языка: ассемблер ближе к железу и проще, чем ЯВУ. Хотя исходный код на нем выглядит более громоздко.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

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

мне непонятно не применение 128-го, а другое дело

зачем заниматься мазохизмом имея вполне приличный камень? Разобраться? Да на любом языке тебе придется разбираться с железом, хоть ассемблер, хоть что. Давайте еще под Core i7 начнем кодить на асме. А чо, времени ж навалом

128Kbytes of In-System Self-programmable Flash program memory
!!!!!!

даже на самом большом своем проекте, в котором только самописного кода было больше 200К чистого текста, не считая библиотечного, мне так и не удалось израсходовать больше 32кило флеша. И код был на говноСи. Царапал месяца два. Посмотрел бы я на того психа, который бы это на асме повторил хотя бы за год

Если только целью стоит получить значок юного скаута - за программирование на асме, то вперед. Дурное дело нехитрое :bye:

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

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

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

Я писал не про создание конечного устройства, а про получение опыта работы с AVR вообще. Потренироваться на мощном камне, а потом писать прошивки хоть для тинек. Забивать все 128кБайт ассемблерным кодом вряд ли имеет смысл, но собирать мигалки и разбираться с переферийными модулями - вполне. А на счет самого выбора языка, в какой-то теме я уже приводил примеры кода на Си, который, несмотря на правдоподобность, может работать неправильно.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

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

такой код можно на любом языке написать. А вот что касается перспектив

а потом писать прошивки хоть для тинек

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

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

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

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

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

В m128 гораздо больше выводов и переферии. Это значит, что на время отладки, на "лишние" можно повесить ЖК-дисплей, использовать выход UART'а (из тинек этот модуль есть только в tn2313) или JTAG-отладчик (не уверен, что это имеет смысл, но возможно). Плюс обкатка внешней переферии, RTC, АЦП, память, мало ли. И уже готовые, проверенные на себе решения, применять в своих проектах.

Насчет асма - навскидку, работа со стеком, атомарные переменные, работа с математикой. Если надо, могу привести примеры подводных камней. Ну и лично мне асм помог понять принцип работы процессора/контроллера вообще.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

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

Судя по ненависти mail_robot-a к Ассму, писать на нем, он таки не научился. :)

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

Может начать писАть компактный и надежный код, чем складывать пазлы из 20-ти частей (как в детском саде) и радоваться достигнутому.

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

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

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

Благодарю всех за ответы и советы. Там только m128def.inc, от 02.08.2010.

Да, я хочу научиться этому ассемблеру. Раньше мне приходилось писать на ассемблере для PIC и для IBM PC.

Найти m1284def.inc попробую. В дальнейшем, наверное, буду использовать C, если уж размер прошивки

получается небольшим.

Пётр.

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

вот собственно Электроникс выразил мои мысли наиболее четко и правильно.

вопреки злопыхателям могу сообщить - асм я изучал еще со времен Z80, когда ему альтернативы по сути небыло для создания хорошего компактного кода. Потом был 8051 и иже с ним, где асму тоже равных нет. Потом 2313 (вернее его первые версии АТ90). Там тоже как будто бы асм еще рулил, но я уже начал сомневаться. Потом была пауза и PIC16F886. Вот на нем я окончательно понял, что асм меня тормозит. Грамотно написанный код на С оказывался ничуть не хуже при трудозатратах вчетверо (это я еще по минимуму взял) меньших. Перейдя окончательно на С с этим камнем я понял, что использовать все его ресурсы весьма непросто. Максимальный объем кода составлял обычно не более 5-6 кило на те задачи, который этот камень в состоянии вывезти по периферии. А познакомившись с АРМ использование асма стало практически невозможным, в виду адового соотношения трудозатрат к выхлопу. Причем еще на PIC16 обратил внимание, что код, генерируемый компилятором в листинге весьма компактен, хотя и не лишен лишнего. Но этого лишнего не более 20% и оно не всегда такое уж и лишнее. Так что выигрыш только на очень мелких камнях с тесными ресурсами. Такое мое историческое ИМХО

вообще после явления миру АМРов мне тяжко стало понимать людей, топчущихся на восьмибитках. У такого простого, производительного и дешового решения просто нет альтернатив на сегодняшний день. После пиков и авров въезд в тему занял 2 дня. Из них примерно пол дня я боялся огромного мануала и еще пол дня не мог понять философии работы этого "чудовища". Через сутки замигал диод, а еще через 4 дня засветился 1602 и объем кода в памяти превысил 4 кило чистой пользы. На этом в восьмибитках была поставлена жирная точка

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

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

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

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

А пока я хотел бы узнать, что надо скачать с atmel.com, чтобы там были *def.inc файлы?

m1284Pdef.inc существует, поиск его показывает, но вот в avr8-gnu-toolchain, скачанного с atmel.com, их нет.

Пётр.

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

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

АРМ и 1602 - крутая парочка и "великое" достижение. Нет бы наоборот, Tiny13 и 1602 - это интереснее. Конечно, у каждого своя религия. Но на мой взгляд, разбрасываться ресурсами - все равно, что есть за столом и брызгать по сторонам. Не будем далее развивать.

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

Спор это увлекательное занятие.

Программирование еще интереснее.

И тут каждый выбирает для себя. Кто ассемблер, кто СИ и т.д.

Человек, пишущий на СИ и не знающий асм, никогда не будет хаккером.

А если не хочешь стать хаккером, пиши на чем угодно.

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

АРМ и 1602 - крутая парочка

а что не так? Вам знакомо более простое и экономичное решение?

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

фанатики они на то и фанатики, что дальше своей кочки ничего не хотят видеть, сколько им не талдычь

Tiny13 и 1602 - это интереснее

интереснее получать деньги за свои решения тратя минимум ресурсов. А крошки уборщица соберет. Ей за это зарплату платят.

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

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

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

Так ведь и Вас можно назвать фанатиком... И ещё каким. Только Вы, на вопрос "как", начинаете проповедь в пользу своей точки зрения. Ну понятно, что старый печальный опыт работы на Ассме, Вам покоя не даёт. Так зачем же других сбивать с пути истинного, понося отличные от Вашего варианты? Кто-то хочет освоить МК, а не только язык программирования. А это разные вещи.

Как гласит народная пословица - спешка нужна при ловле блох, при поносе и при ... чужой жены. Иначе долго в отладчике сидеть придется.

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

а кто сказал что ваш путь истинный? Вы в праве это определять?

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

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

остальное все точно так же. Так же надо знать архитектуру всех периферийных блоков, так же соображать как выполнится та или иная конструкция в программе. Язык си для МК он на 80% такой же низкоуровневый как и асм, только пишется понятными словами. И вернувшись к программе через месяц можно быстро въехать что к чему. Через месяц возврата к листингу на асме я тратил прилично времени на раскуривание того - чего же я имел в виду этим странным набором PUSH и MOV и нахрена тут этот условный переход

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

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

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

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

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Сообщения

    • @_abk_ у да, раз речь шла про тиньки, давайте еще сайт микрочипа процитируем для полноты картины...  
    • Да, глянул я эту тему, вроде даже отметился в обсуждении, сейчас уже забыл что конкретно мне не понравилось. МК там не на отображении, чисто так, сервисный. Очень много ключиков, и схема нарисована в диптрейсе, вникать не стал, потому что неудобно для чтения, но скелет понятен. sot-23 на 3 и шесть ног я ещё кое-как приловчился паять. В этих корпусах идут некоторые опорники и китайские чопперы (у них есть вариант в со-8 но он раза в два дороже в чипе). А вот 0805 - уже не мой размерчик, ограничиваюсь 1206, но и то, вы можете видеть, как криво сидят элементы.           По этой причине платка на ADS1210, отметившаяся на фотке выше, была отправлена в помойку. Увидел график нелинейности в даташите, цену на али, и заказал. Пришло, спаял платку, залез в секцию даташита "интерфейс", поковырялся, почитал форумы с обсуждениями подобных АЦП - не выдержал, выпаял всё, кроме АЦП, и провёл ему "видларизацию". Уж больно сложный интерфейс, у 7135 он весьма простой для работы с ардуинкой. Сейчас жду ADS1252 (АЦП близкий к тому, что был использован в В7-87, там ADS1251, немногим помедленнее, зато более линейный), но 7135 не бросаю, потихоньку полируя на ней "ядро" уффффф. Докинув чуть побольше денег можно купить ICL7104-16, которая представляет из себя то же самое, но с 16ти битным счётчиком и выходами под внешние буфер, интегратор и компаратор, что очень хорошо, т.к. можно поставить нормальные быстрые ОУ на полевиках и компарь типа LM311 хотяб.
    • угонял до 0,7 вольта, увы нет.... Транзисторы на плате КТ3102, цоколевка обратная по сравнению с 2N5551  
    • Что мешает контролировать этот процесс?  и подавать питание после выхода обоих бп в рабочий режим. Думаю вполне возможно.
    • Нет, не любой, - только те, у которых нет режима HVPP. Обычно это маленькие Тiny.
    • Сопротивление должно быть таким, чтобы 3 ома подключалось, а 2 ома уже нет. Либо накрутите на срабатывание при 3 Ом и в том же направлении сделайте ещё пол-оборота.  Если после подключения защиты закоротить выход, то определение сопротивления нагрузки уже не сработает. Оно работает при подаче питания на схему защиты. Если Rнагр>3Ом, реле включится и дальше уже должен отрабатывать сам усилитель, его защита по току. Это превентивная ступень защиты, а не постоянная. Возможно, цоколёвка реле отличается от использованных мной. Покажите фото смонтированной конструкции. Да - светится постоянно или в такт сигналу на выходе усилителя?
    • @новичек22 вариант - заказуха. И надо рисавать схему.  
  • Похожий контент

×
×
  • Создать...