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

Разные стили .h файлов описания аппаратуры в STM32 и GigaDevice.

54 minutes ago, EdgeAligned said:

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

Что такое Piton? Если Вы имели в виду Python, то уже добрался. Это нормально. Сам использую его для программирования RP2040 микроконтроллеров. В составе плат Raspberry Pi Pico. Если понимать, что и зачем делаешь, то это сильно помогает. Когда нужно получить какой-то отладочный стенд или прибор на скорую руку, то почему бы и нет?

1 hour ago, Arlleex said:

Что хотел продемонстрировать автор?

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

1 hour ago, Arlleex said:

А через 2 дня вся эта красота забывается и приходится снова глазами просматривать исходник

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

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


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

1 час назад, EdgeAligned сказал:

Погодите, вот когда Piton доберётся до микроконтроллеров, там начнётся...

Вот когда RUST начнут активно пропагандировать для МК ...

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


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

16 минут назад, haker_fox сказал:

Слышал я красивые истории о фреймворках, где всё уютно и красиво, и легко модифицируются и легко переносится на другие платформы, но сам пока не видел...

Это невозможно в принципе. Ну может только для кода, написанного в стиле ардуины. И сильно ограниченного по функционалу.

Как видим - даже код на очень аппаратно похожие платформы (как STM и GD) не всегда получается легко перенести.

Интересно - как бы эти сказочники, переносили мой код, в котором через UART передаются слова длиной 24 бита, с XMC4xxx на STM32?  :biggrin:

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


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

1 minute ago, jcxz said:

Это невозможно в принципе.

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

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


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

9 минут назад, haker_fox сказал:

Честно говоря, меня это расстраивает

Вообще-то - это очень хорошо. Представьте, что у вас был бы только один комплект одежды. И ходили бы в нём круглый год - и зимой и летом! :shok: Чего же тут хорошего? Здорово, когда есть выбор и можно выбрать МК под конкретную задачу. А чем более универсальный пытаться писать код, тем менее он будет эффективным. Яркий тому пример - куб.

Пускай будет много МК. Хороших и разных! С разными возможностями.

А то, что код приходится переносить руками, задействуя, тоже неплохо: Значит программисты с головой (мы) всегда будем нужны. Не останемся без работы. Нас не смогут заменить копипастеры, надёргивающие примеры из инета  :wink2:

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


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

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

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

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

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


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

41 минуту назад, haker_fox сказал:

Честно говоря, меня это расстраивает: тонны кода каждый раз всё равно приходится рихтовать под конкретный проект...

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

Например, там, где можно обойтись обычным UART-ом на стандартных скоростях и на стандартных форматах и на стандартных протоколах, не нужно прикручивать квадратные колеса и потом мучительно переделывать получившийся велосипед под возможности другого МК. Закладывая использование какой-то редкой периферии или сложно реализуемой на другом МК нужно 100 раз подумать, можно ли этого как-то избежать, чтобы потом не было мучительно больно все переделывать.
 

53 минуты назад, jcxz сказал:

Интересно - как бы эти сказочники, переносили мой код, в котором через UART передаются слова длиной 24 бита, с XMC4xxx на STM32?

Не переносили бы. Если уж действительно было бы нужно - поставили бы такой же XMC или делали все в ПЛИС. Привычка к конкретному типу МК не отменяет рациональности))

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


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

2 hours ago, jcxz said:

через UART передаются слова длиной 24 бита, с XMC4xxx на STM32?

Если UART программный, ногодрыгом, то какие проблемы?

XMC4 не знаю, а в СТМ аппаратный уарт умеет с 24бит данными работать?

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


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

21 минуту назад, Allregia сказал:

Если UART программный, ногодрыгом, то какие проблемы?

Само собой - аппаратный.

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


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

Хм, интересно. Не знал что аппаратный уарт в стм32 умеет работать болше чем с 9-ю битами во фрейме.

У Вас имено 24 бита данных между стартовым и стоповым битами?

 

 

 

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


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

15 минут назад, Allregia сказал:

Хм, интересно. Не знал что аппаратный уарт в стм32 умеет работать болше чем с 9-ю битами во фрейме.

У него не STM а XMC, это другой контроллер для приводов и частотников. И периферия там гораздо хитрее чем в STM.

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


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

3 hours ago, Arlleex said:

У него не STM а XMC, это другой контроллер для приводов и частотников.

Я понимаю, но с другой стороны-то там СТМ:

6 hours ago, Arlleex said:

через UART передаются слова длиной 24 бита, с XMC4xxx на STM32

 

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


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

9 часов назад, haker_fox сказал:

мне понравилось управление пинами в этой статье.

Ага. Особенно приписка в конце сего опуса:

Цитата

P.S. Надо признаться, что на максимальной оптимизации этот код по размеру получается такой же как на Си и на моем решении. 

ШАХ и МАТ! 🙃  😄 Ох уж эти изобретатели писянины. Столько было написано текста - а результат ровно такой же, как и с минимальным кодописательством. Понятно, что в качестве развития и поиска длиннозамороченных решений. Но в случае с пинами - задача не та. Тем более, когда речь идет о разнице в 4 байта, которая уходит с повышением уровня оптимизации... Ну это не то, ну не то это - чесать левое ухо через правую пятку.

 

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


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

адаптировал стм хал + графическую стмвин к 450 (470) гиге, в итоге, просто написал заголовочные и прочие для гиги (добавив нужные регистры и работу с ними) взяв за основу 405 стм

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


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

On 4/21/2023 at 11:09 AM, haker_fox said:

Поэтому, каждый обжился в своём мире и программирует согласно ему. 

А после меня хоть трава не расти :sarcastic:

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

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

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

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

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

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