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

Школа Молодого Бойца


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

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

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

  • Ответов 75
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

В чём составляет сложность, Схемотика, Программирование? А задачек полно, ток решение не читай, мигалки, пещялки таймеры.

Сам пытаюсь изучять, пока токо в PROTEUS учюсь програмировать.

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

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

Поэтому, начни с простого устройства - автоматический выключатель света, например для ванной. Работа простая - есть кнопка на двери, размыкается когда дверь открыта - задача устройства - включить свет на (5-10-20) минут, и через заданное время включить вытяжку(тоже на определенное время). Сделать так чтобы можно было выбирать это время при помощи ДИП-переключателей из некоторого ряда зашитых в контроллере значений. Управление светом и вентилятором вытяжки - при помощи симисторов (BT131).

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

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

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

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

Я думаю нужно начинать с изготовления простой схемки 4входа, 4 выхода со светодиодами.( можно и 8х8 )

Затем заставь светодиоды мигать по разному в зависимости от входов.

Это неплохой полигон для начала.

Пока ты жив, надежда есть.

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

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

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

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

Я в замешательстве(((

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

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

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

...а С проще...

Си не проще. Писать на этом языке так, чтобы был смысл именно в языке высокого уровня (кроссплатформенность, модульная реализация, легкость модернизации программы), довольно непросто. Многие считают, что Си - это что-то типа "x=sqrt(a*с)", а компилятор пусть дальше сам разбирается... Это далеко не так...

Начинайте с Си. Тогда на асм переползете (если нужно будет) правильно - программы будете строить как на Си. А вот наоборот сложнее - после асма на Си будет каша. Почти как правило. Почти...

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

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

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

сначала С потом асм имхо

ИМХО, Разбираемся с железом на низком уровне, соответственно, изучаем систему команд и АСМ, параллельно изучаем высокоуровневые языки, или адаптируем к новому железу имеющиеся знания этих языков , только так познаются тонкости...

Errare humanum est. Коли людЯм позволено, что же о нас то говорить!
 

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

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

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

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

Весь пост сплошной ввод в заблуждение и подмена понятий. То, что у кого то получаются громоздкие программы на Си, это пробемы программиста, а не Си. Использование стека да, в Си чтобы им напрямую пользоваться нужно разобраться. НО ДЛЯ ЭТОГО НЕ НУЖНО ИЗУЧАТЬ АССЕМБЛЕР. Это все равно что сказать, чтобы научиться писать ногой, надо сначала научиться писать рукой. Да, а Вы попробуйте научить человека сначала писать ногами, а затем дайте ему ручку в руки и скажите, как тебе. Даю гарантию, он скажет вот уродство, писать руками. Так и с ассемблером. Дело привычки и обычное ностальгическое нытье. Тем более напрямую лазить в стек на Си это не самый лучший стиль программироваия. Во первых он в микропроцессорах довольно куцый. Во вторых это чистые понты, организовывать ветвление через стек, ну то есть через возврат из подпрограммы. И тем более надежности программе не прибавит. С Си вообще ситуация с философской точки зрения интересная. Он позволяет максимально усложнить программу и запутать код до неузнаваемости в зависимости от предпочтений программиста. Но нужно отдавать себе отчет. Чем сложнее написана программа, тем ниже ее надежность. Выпендриваться можно на большой машине. Чтобы девочки там уважали или начальство считало незаменимым. И хотя программа будет падать раз в час, ну и что. Винда и так падает регулярно. А с микропроцессорами не забалуешь. Упала железка в 200 км от города. Попробуй ее поменяй на морозе. Один раз поменяют, второй раз программиста самого в поле пошлют. Моментально появится верный стиль программирования.

Мое мнение Си и только Си.

Если нужна оптимизация, включаем оптимизацию. Если какие то куски громоздкие. Меняем конструкцию на Си и смотрим размер в окне дизассемблера. Чтобы отличить сколько там команд в итоге 3 или 5 сможет даже обезьяна, которая никогда не учила ассемблер. Про прерывания которые запутываются из за того, что написаны на Си и превращаются из за этого в цикл, вообще молчу. Такое сморозить конечно можно. Но винить в этом Си это все равно что винить кошку в отсутствии газа. И наконец когда действительно важна скорость, да, можно сделать вставочку на асме. Но это исключительно редкая ситуация. Исключительно. И как правило вся оптимизация это три команды пересылки, которые молотят массив с бешеной скоростью в цикле. Ничего другого никто и никогда на асме в Си не вставлял для оптимизации. Из за трех команд пересылки и условного перехода изучать асм не имеет смысла, только мозги забивать. Единственное что действительно нужно знать от асма это число тактов процессора которое занимает простейшая пересылка. И только для того, чтобы знать, насколько он быстрый и выполняется ли за один такт одна команда или нет. Но сейчас и этот параметр как правило не важен. Все микропроцессоры молотят команду за такт. И только 8051 команду за четыре такта. Но и там есть мутанты, которые работают быстрее. Но это уже из другой оперы.

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

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

Писать сразу на Си можно только в случае если вы хорошо его знаете изначально.

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

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

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

Но это не значит, что ассемблер не нужен! Я не говорю о том, что есть вещи, которые иначе, как на ассемблере, не реализовать в принципе, например, программная генерация видеосигнала (http://pic16f84.narod.ru/item_video.htm) - это, наверное, всё-таки очень возвышенное, но извращение. Просто, не зная ассемблер, окно дизассемблера можно даже не открывать. Три там команды или пять - много это или мало? Можно ли в принципе этот кусок переписать так, чтобы он скомпилировался более оптимально, поймёт лишь человек, знающий ассемблер. Рассчитать глубину стека с точностью до байта, гарантированно достаточную для для любых ветвлений программы без знания ассемблера? Я такое слабо себе представляю. Не зная ассемблер написать бутлоадер, понимать, чем чреват перенос кода из одной области памяти в другую, чем отличаются rjmp и ljmp у AVR... Да, извините меня, наконец, разобраться в чужой прошивке? ;) Ассемблер - это как букварь, как азы, как понимание того, что и как делает микроконтроллер. Писать программы можно (и нужно) на си, а вот изучение начинать надо именно с ассемблера. Если, конечно, приоритетом для вас является качество написанных программ, а не их количество :)

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

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

Помните джина, из Голливудской мультяшки?. " Чем больше могущества и силы, тем меньше свободы" Это справедливо и здесь... :D

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

Errare humanum est. Коли людЯм позволено, что же о нас то говорить!
 

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

Многие вещи, которые на ассемблере пишутся легко и очевидно, в си умело замаскированы...

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

...Поэтому начинать надо именно с ассемблера.

Видел я программы написанные после перехода с асма... Причем нормальными спецами. Это что-то. Когда люди понимают, что на Си можно писать в точности как на асме, они с радостью так и делают. А по мере разрастания проекта в итоге расшибают лоб. Ругая после всего Си...

...

Просто +1

Си хорош исключительно только в больших проектах, в остальных случаях у этого языка НЕТ НИКАКИХ ПРЕИМУЩЕСТВ перед ассемблером...

Неверное утверждение. Все настолько очевидно, что даже расписывать откровенно лень..

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

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

...но не вижу я явных преимуществ...

Согласитесь, что это Ваша проблема, а не языка...

Писать сразу на Си можно только в случае если вы хорошо его знаете изначально.

А как его узнать если на нем не писать?

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

Совершенно не являемся. Только в недоязыках...

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

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

З.Ы. Нет понятий, "более оптимально", "менее оптимально", "оптимальнее" и т.д. Сравнительное употребление здесь неуместно. Есть "оптимально" и "не оптимально". Все остальное от лукавого :)

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

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

Нет понятий, "более оптимально", "менее оптимально", "оптимальнее" и т.д. Сравнительное употребление здесь неуместно. Есть "оптимально" и "не оптимально". Все остальное от лукавого :)

А по каким параметрам определять оптимальность кода? Все тут субъективно. ИМХО

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

Досточтимый Мухаммед бен Муса ал-Хорезм опять в могиле переворачиваеться :rolleyes:

Errare humanum est. Коли людЯм позволено, что же о нас то говорить!
 

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

... Все тут субъективно. ИМХО...

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

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

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

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

o_l_e_g, я часто пользуюсь переделкой (оптимизацией) кода, написанного на Си, свое отношение к которому уже высказывал ранее, в код асма. Получается оптимизировать в среднем в 3 раза. А при переписке заново, но чисто на асме то и в 5-6 раз. Вот и "...если получиться оптимальнее, ну что-же поздравляю! , но вряд ли!..."

Не согласен я и с dkdent. Пример, приведенный им прав в том, что как человека научишь, так он и привыкнет. Но (опять же НО...) убивает фраза "...НО ДЛЯ ЭТОГО НЕ НУЖНО ИЗУЧАТЬ АССЕМБЛЕР...". В ней просматривается смысл "говорить человек учится на слух, НО ДЛЯ ЭТОГО НЕ НУЖНО ИЗУЧАТЬ АЗБУКУ". А без азбуки человек ни руками, ни ногами нормально писАть не научится.

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

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

Ну вот и пошла казуистика ;) На низком уровне, пиши как надо! а на высоком, не составляя своих библиотек, заметим, опять же, как правило, на низком уровне :), ты зависишь от их разработчика...

ИМХО Высокоуровневые языки, с АСМ вставками, где нужно, вот залог успеха!

Зачем самому городить обмен по квадратной шине? или с ЖКИ?, но сформировать необходимые диаграммы с быстрой динамикой, проще и точнее на АСМе ИМХО

Errare humanum est. Коли людЯм позволено, что же о нас то говорить!
 

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

 ... но согласитесь, "картины" (программы) получаются более разнообразные и красивые, чем в первом варианте....

Ага, размером в один пазл :) А если серьезно, везде есть свои плюсы и минусы. Почему я советую Си - для того чтобы привести в порядок мысли в голове, научиться ставить задачу и решать ее отдельными алгоритмическими кубиками, отделять инструмент от задачи. Начиная с асма это сделать потом сложнее. А наоборот - нормально...

я часто пользуюсь переделкой (оптимизацией) кода, написанного на Си, свое отношение к которому уже высказывал ранее, в код асма. Получается оптимизировать в среднем в 3 раза. А при переписке заново, но чисто на асме то и в 5-6 раз.

Здесь - либо код писали очень плохие сишники (на плохом компиляторе), либо программа чуть больше стартапа. А вообще интересно, заказчик оплачивает сначала разработку программы на Си, а потом платит еще за переделку? Или это для себя в домашних проектах?

Больше чем в полтора раза сэкономить не получится (в 90% кода), при нынешних компиляторах. А то что Вы говорите - нонсенс. Что то там не так в консерваториии у Вас, где сишные программы ваяют.. :)

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

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

o_l_e_g, я часто пользуюсь переделкой (оптимизацией) кода, написанного на Си, свое отношение к которому уже высказывал ранее, в код асма. Получается оптимизировать в среднем в 3 раза. А при переписке заново, но чисто на асме то и в 5-6 раз. Вот и "...если получиться оптимальнее, ну что-же поздравляю! , но вряд ли!..."

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

Errare humanum est. Коли людЯм позволено, что же о нас то говорить!
 

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

"...либо программа чуть больше стартапа...", вот пример 13,7кБ укладываются в 5,3кБ той же функциональности, но с меньшей глючностью. Или пример обратный. Тема "Авто + Бортовой Миникомпьютер" несколько функций, а Юрец уже с Мега8 на Мега16 собрался переходить.

Goodefine, при замере скорости укладки кода в листинг, шутка "Ага, размером в один пазл..." в секунду еще пройдет или если более одного пазла не приходилось складывать. Но тебе стебаться не к лицу. Я не переписываю несколько раз код для одного заказчика. Это скорее шпионаж :ph34r: заставляет, но чаще для себя, в качестве тренировки. Знаешь как? Берешь файл прошивки и вперед... восстанавливаешь идею, а потом оптимизируешь ее, переписывая порой все от начала до конца, удаляя стандартные библиотеки (пазлы) и заменяя их своими алгоритмами. Много узнаешь о таких языках как Си, глядя снизу. 

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

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

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

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

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

... вот пример 13,7кБ укладываются в 5,3кБ той же функциональности,...

И что? Хотите я Вам тот же функционал в 20кБ (Си) уложу - и будет очередной повод похвалить асм. А другой человек - в 6кБ на Си... Это к тому, что рассуждать о размерах, в отрыве от конкретного кода бесмысленно... Кстати, встречал программы на Си, которые при переделывании влет нескольких строчек (буквально доли процентов от общего размера) кода, уменьшались в размере процентов на 30%..

...а Юрец уже с Мега8 на Мега16 собрался переходить.

И что этот пример показывает? Я ему предлагал вариант со своим куском кода около 5% (даже не оптимизированная), а он предпочел стандартную - весом более 15%. Так по кусочку и набирается оверхед...

... Но тебе стебаться не к лицу...

А что оно у меня особенное?.. :) Тем более что я не стебался, а прозрачно намекал - в больших проектах Си гораздо предпочтительнее - это и так не секрет... Пазлы то у всех разные... Для кого то 100Б, для кого то 100кБ...

...Знаешь как?..

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

..Много узнаешь о таких языках как Си, глядя снизу.

Эх, на Ты, так на Ты... А ты напиши web-сервер на асме - тоже много узнаешь о Си, глядя снизу...

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

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

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

А что оно у меня особенное?..  :) Тем более что я не стебался, а прозрачно намекал - в больших проектах Си гораздо предпочтительнее - это и так не секрет... Пазлы то у всех разные... Для кого то 100Б, для кого то 100кБ...

Не отвлекаться. Тема для молодых бойцов. То что У ТЕБЯ пазлы свои наработанные, так это У ТЕБЯ. А у них нет.

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

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

Эх, на Ты, так на Ты... А ты напиши web-сервер на асме - тоже много узнаешь о Си, глядя снизу...

Да знаю я Си. В 93-м работал на нем, только для IBM. Может хватит немыслимые примеры изрыгать в эфир. Скажешь, в какой МК ты сможешь на СИ web-server впихнуть, может и я подумаю. А так пустая болтовня и глупая "игра мышцами", пугающая начинающих ребят. Не стоит навязывать свою точку зрения, посоветовал "и в тину". :) ...И я за тобой. :D Пусть сами выбирают.

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

...А у них нет...

Будут. Потом. может быть. Половина... :)

... Ведь только дурак учится на собственных ошибках....

100%. Но справедливости ради, отмечу, что есть у человека такое право - учиться на своих ошибках.... :)

...Скажешь, в какой МК ты сможешь на СИ web-server впихнуть, может и я подумаю...

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

..Пусть сами выбирают...

Согласен, пусть...

А я просто люблю этот язык! Когда через годик смотришь на что то типа:

for (mask=(direct)? 1:0x80;mask;mask=(direct)? mask<<1:mask>>1) PORTW=(*byte&mask)? PORTW|(1<<BIT):PORTW&~(1<<BIT);

И понимаешь за менее 10сек, что этот код делает... Эстетическое удовольствие, одним словом.

Я свой выбор сделал: Мк - Си (очень изредка асм-вставки), РС - С++; Остальным, кто не определился - удачного выбора!...

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

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

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

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

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

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

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

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

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

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

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

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

  • Сообщения

    • Здесь все индивидуально, точного ответа нет. Тип фоторезиста, качество фотошаблона, расстояние и время засветки, длина волны св.диодов, "полоскание" в химии ... Надо все пробовать самому, ручками, опыт придет со временем, ничего сложного там нет. На форуме есть ветка, почитайте.
    • Привет.  Хочу попробовать поработать с фоторезистом. Есть пару десятков ультрафиолетовых светодиодов, общей мощностью 4 вата. Хватит ли этой мощности для обработки платок размером 10 на 10 см или надо искать что-то дополнительно? 
    • Чтобы меньше было излучения, нужно мотать тороидальную. Возможно для повышения добротности по омическому сопротивлению лучше этот ТОР мотать в пару слоев. Если ее намотать на шило, то она вряд ли будет вообще работать как катушка.   Индуктивность прямо пропорциональна площади сечения, которая в свою очередь прямо пропорциональна квадрату диаметра. К тому же индуктивность в обратной пропорции с длиной намотки.
    • Я в ходе отладки выяснил, что сбоит в функции:  void w25qWritingByUSB(uint32_t dpagenum, uint8_t *bufByUSB) При чем поведение очень странное. Отладочные сообщения даже не выводятся в начале функции. В ходе экспериментов понял что связано это с объявлением массивов и решил объявить большие буферы которые на 4КБ и 0.25КБ: uint8_t current_sector_buf[4096]; uint8_t buf[256]; глобально. В оригинале, буферы объявлялись локально в функции. После изменения буквально двух строчек кода, все заработало. Также, в оригинальном проекте было сильно напутано из функциями. Я решил функции выкинуть из main.c и вставить в w25q.c Эти функции: void w25qEraseSector(uint16_t sector) void w25qWritingByUSB(uint32_t dpagenum, uint8_t *bufByUSB) Поиск данной проблемы реально отобрало кучу времени. На будущее буду знать что и такое бывает...
    • есть готовый  драйвер BTS7960 до 43А (долговременно до 10) с шим и все, что нужно и стоит недорого. И не надо изобретать  велосипед. Даже с учетом завышения параметров  уж 5А свободно.
    • А есть внятное описание этого M18? По моему он не очень "интегирируется" с микроконтроллером, да и нужно ли? По схеме выше - подключить его к U1C, выход U1C кинуть на +С12, U1D вообще выкинуть вместе с D1,D2 и R13.
×
×
  • Создать...