haker_fox 61 21 апреля, 2023 Опубликовано 21 апреля, 2023 · Жалоба 54 minutes ago, EdgeAligned said: Погодите, вот когда Piton доберётся до микроконтроллеров, там начнётся... Чем высокоуровневее язык, тем сложнее на нем работать с низкоуровневыми задачами - больше приходится писать подготовительных операций, прежде чем мигнуть светиком как положено в стиле языка. Что такое Piton? Если Вы имели в виду Python, то уже добрался. Это нормально. Сам использую его для программирования RP2040 микроконтроллеров. В составе плат Raspberry Pi Pico. Если понимать, что и зачем делаешь, то это сильно помогает. Когда нужно получить какой-то отладочный стенд или прибор на скорую руку, то почему бы и нет? 1 hour ago, Arlleex said: Что хотел продемонстрировать автор? Я думаю, как минимум - кругозор, и помочь его расширить читателям. 1 hour ago, Arlleex said: А через 2 дня вся эта красота забывается и приходится снова глазами просматривать исходник По большому счёту программирование для микроконтроллеров всегда мне кажется каким-то ужасным в плане стиля кода: либо он слишком хорош и возвышен, а значит - малопонятен для многих, либо, наоборот - это смесь самого простого Си с кучей макросов, которые бывают так запутанны, что в них не разберёшься даже с помощью хорошей IDE. Поэтому, каждый обжился в своём мире и программирует согласно ему. А посмотрит на этот мир сторонний взгляд, и ужаснётся... Не знаю, как у других, но мне вот так видится. Слышал я красивые истории о фреймворках, где всё уютно и красиво, и легко модифицируются и легко переносится на другие платформы, но сам пока не видел... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Edit2007 3 21 апреля, 2023 Опубликовано 21 апреля, 2023 · Жалоба 1 час назад, EdgeAligned сказал: Погодите, вот когда Piton доберётся до микроконтроллеров, там начнётся... Вот когда RUST начнут активно пропагандировать для МК ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 234 21 апреля, 2023 Опубликовано 21 апреля, 2023 · Жалоба 16 минут назад, haker_fox сказал: Слышал я красивые истории о фреймворках, где всё уютно и красиво, и легко модифицируются и легко переносится на другие платформы, но сам пока не видел... Это невозможно в принципе. Ну может только для кода, написанного в стиле ардуины. И сильно ограниченного по функционалу. Как видим - даже код на очень аппаратно похожие платформы (как STM и GD) не всегда получается легко перенести. Интересно - как бы эти сказочники, переносили мой код, в котором через UART передаются слова длиной 24 бита, с XMC4xxx на STM32? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 21 апреля, 2023 Опубликовано 21 апреля, 2023 · Жалоба 1 minute ago, jcxz said: Это невозможно в принципе. Честно говоря, меня это расстраивает: тонны кода каждый раз всё равно приходится рихтовать под конкретный проект... Особенно проблема проявляется при работе с железом. Там вообще трудно сделать своего рода слой абстракции. Возможно, конечно, но плата - эффективность работы такого кода... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 234 21 апреля, 2023 Опубликовано 21 апреля, 2023 · Жалоба 9 минут назад, haker_fox сказал: Честно говоря, меня это расстраивает Вообще-то - это очень хорошо. Представьте, что у вас был бы только один комплект одежды. И ходили бы в нём круглый год - и зимой и летом! Чего же тут хорошего? Здорово, когда есть выбор и можно выбрать МК под конкретную задачу. А чем более универсальный пытаться писать код, тем менее он будет эффективным. Яркий тому пример - куб. Пускай будет много МК. Хороших и разных! С разными возможностями. А то, что код приходится переносить руками, задействуя, тоже неплохо: Значит программисты с головой (мы) всегда будем нужны. Не останемся без работы. Нас не смогут заменить копипастеры, надёргивающие примеры из инета 1 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 83 21 апреля, 2023 Опубликовано 21 апреля, 2023 · Жалоба Ну лично я не вижу большой проблемы в том, что низкоуровневыми код приходится адаптировать под микроконтроллер. МК все разные, с разным набором периферии, разными особенностями работы. В конце концов, на то мы и эмбеддеры, чтобы разбираться в железе. Попытка создать нечто универсальное все равно приводит к огромной подготовительной работе. Поэтому выходит "так на так", что так, что иначе - все равно. По-хорошему, нужен кодогенератор, который будет генерировать готовый для разных микроконтроллеров код минимального объёма, как если бы писался вручную. Но этот кодогенератор тоже надо ещё написать. Пока пишешь кодогенератор на все случаи жизни, время уходит, микроконтроллеры меняются. Замкнутый круг. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 178 21 апреля, 2023 Опубликовано 21 апреля, 2023 · Жалоба 41 минуту назад, haker_fox сказал: Честно говоря, меня это расстраивает: тонны кода каждый раз всё равно приходится рихтовать под конкретный проект... А это следствие банального желания прикрутить ту или иную фичу, которая есть в одном конкретном МК (или семействе), к какой-то постоянно используемой в разных проектах функции. Например, там, где можно обойтись обычным UART-ом на стандартных скоростях и на стандартных форматах и на стандартных протоколах, не нужно прикручивать квадратные колеса и потом мучительно переделывать получившийся велосипед под возможности другого МК. Закладывая использование какой-то редкой периферии или сложно реализуемой на другом МК нужно 100 раз подумать, можно ли этого как-то избежать, чтобы потом не было мучительно больно все переделывать. 53 минуты назад, jcxz сказал: Интересно - как бы эти сказочники, переносили мой код, в котором через UART передаются слова длиной 24 бита, с XMC4xxx на STM32? Не переносили бы. Если уж действительно было бы нужно - поставили бы такой же XMC или делали все в ПЛИС. Привычка к конкретному типу МК не отменяет рациональности)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Allregia 9 21 апреля, 2023 Опубликовано 21 апреля, 2023 · Жалоба 2 hours ago, jcxz said: через UART передаются слова длиной 24 бита, с XMC4xxx на STM32? Если UART программный, ногодрыгом, то какие проблемы? XMC4 не знаю, а в СТМ аппаратный уарт умеет с 24бит данными работать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 234 21 апреля, 2023 Опубликовано 21 апреля, 2023 · Жалоба 21 минуту назад, Allregia сказал: Если UART программный, ногодрыгом, то какие проблемы? Само собой - аппаратный. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Allregia 9 21 апреля, 2023 Опубликовано 21 апреля, 2023 · Жалоба Хм, интересно. Не знал что аппаратный уарт в стм32 умеет работать болше чем с 9-ю битами во фрейме. У Вас имено 24 бита данных между стартовым и стоповым битами? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 178 21 апреля, 2023 Опубликовано 21 апреля, 2023 · Жалоба 15 минут назад, Allregia сказал: Хм, интересно. Не знал что аппаратный уарт в стм32 умеет работать болше чем с 9-ю битами во фрейме. У него не STM а XMC, это другой контроллер для приводов и частотников. И периферия там гораздо хитрее чем в STM. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Allregia 9 21 апреля, 2023 Опубликовано 21 апреля, 2023 · Жалоба 3 hours ago, Arlleex said: У него не STM а XMC, это другой контроллер для приводов и частотников. Я понимаю, но с другой стороны-то там СТМ: 6 hours ago, Arlleex said: через UART передаются слова длиной 24 бита, с XMC4xxx на STM32 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 83 21 апреля, 2023 Опубликовано 21 апреля, 2023 · Жалоба 9 часов назад, haker_fox сказал: мне понравилось управление пинами в этой статье. Ага. Особенно приписка в конце сего опуса: Цитата P.S. Надо признаться, что на максимальной оптимизации этот код по размеру получается такой же как на Си и на моем решении. ШАХ и МАТ! 🙃 😄 Ох уж эти изобретатели писянины. Столько было написано текста - а результат ровно такой же, как и с минимальным кодописательством. Понятно, что в качестве развития и поиска длиннозамороченных решений. Но в случае с пинами - задача не та. Тем более, когда речь идет о разнице в 4 байта, которая уходит с повышением уровня оптимизации... Ну это не то, ну не то это - чесать левое ухо через правую пятку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
0men 2 21 апреля, 2023 Опубликовано 21 апреля, 2023 · Жалоба адаптировал стм хал + графическую стмвин к 450 (470) гиге, в итоге, просто написал заголовочные и прочие для гиги (добавив нужные регистры и работу с ними) взяв за основу 405 стм Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 60 21 апреля, 2023 Опубликовано 21 апреля, 2023 · Жалоба On 4/21/2023 at 11:09 AM, haker_fox said: Поэтому, каждый обжился в своём мире и программирует согласно ему. А после меня хоть трава не расти Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться