Jump to content

Koret

Members
  • Content Count

    39
  • Joined

  • Last visited

Community Reputation

5 Обычный

About Koret

  • Rank
    Новенький

Информация

  • Город
    Город

Электроника

  • Стаж в электронике
    1-2 года
  1. Почему-то сразу вспомнилась "трагедия" в детском саду:
  2. А чёрт его знает, каждый потихоньку "набрасывает", он и крутится.
  3. Новичок - да, нуб нет. (“Эта роль ругательная, и я прошу ее ко мне не применять!”) Не припомню такого слова в русском языке, раз Вы первый решили "похвастаться" знаниями литературных терминов. Мне возвращаться к примерам с отверткой и шуруповёртом? Для каждой задачи свой инструмент и точка.
  4. Причём тут имбецил, речь шла о "полного нуба", Вы когда отвечаете ответы хоть как-то читаете? И где я написал, что имбецил это НЕ литературный термин? Или продолжаете линию: есть моё мнение и неправильное. Второй раз Вы лжёте, когда обвиняете меня во лжи, явившееся следствием Вашей невнимательности. Смотрите, моё мнение как новичка в МК, есть CubeMX, который, по моему мнению, очень хорошо подстраивается под конкретный МК, показывается вся доступная периферия присуще только тому МК, который выбирается. Также настраивается и т.д. В случае превышения частот - сигнализируется, что конкретный МК не может работать в таком режиме. Т.е. риск "загнать" МК в нехорошие состояние значительно снижается. Я считаю, что когда происходит частая смена контроллеров, лучшего средства, чем CubeMX нет. Например, возвращаясь к своей халабуде, мне вообще не составило труда в очень кратчайшие сроки перенести проект на новый МК, причём МК по периферии достаточно отличаются. В общем, постараюсь в последний раз донести свою мысль, т.к. итак «загадили» тему ненужными «разговорами», собственно как и писал ранее, всё равно каждый останется при своём мнение. Если и без HAL при программирование МК можно найти достаточно «кубиков созданным чужим дядей для имбецилов», нет смысла зацикливаться на ещё одном «кубике». Надеюсь так будет коротко и понятно.
  5. Согласен, но это я к тому, что всё-равно используется "кубик созданный чужим дядей для имбецилов". Так если всё-равно используется данный кубик и не один, в чём HAL тогда заслужил к себе такое отношение.
  6. Внимательно читаете? Я написал "можете не стесняться в выражениях, сразу переходИте на "чмо, ущербный и т.д.".", перевожу для Вас, что можете не ограничиваться в выражениях и в дальнейшем переходит на "чмо, ущербный и т.д.". Просьба в дальнейшем читать внимательнее. Один вопрос: при использовании драйвера есть ли у него возможность преобразовывать передаваемые данные?
  7. Да, я действительно, как Вы выразились "нуб в микроконтроллерах" и это не скрываю, только начал знакомство, можете не стесняться в выражениях, сразу переходите на "чмо, ущербный и т.д.". Вы уверены в драйвере, что он не пошлёт какую-то доп. команду программатору или код, который может быть заменён исходный. Компилятор ВСЕГО-ТО заменяет одни сущности на другие. Вы уверены что только одни сущности на другие, а не добавляет/изменяет код так, что даже по размеру прошивки нельзя будет узнать, что код изменён. В конце концов банально в программаторе может быть "закладушка", которая будет что-либо добавлять в код или что-то изменять. Это я к тому, с чего такая уверенность, что промежуточный код и устройства, которыми Вы пользуетесь, НИКАК не влияют, а вот только код HAL так и кишит разными "вирусами". Не хочу опускаться до оскорблений, но у меня есть предположение, что Вы не до конца понимаете как устроены и работают те же драйвера. Не понимая особо в МК, я лишь хочу донести одну мысль, но пока не очень получается, попробую с другой стороны. С чего Вы взяли, что именно Ваш подход считается профессиональным, золотой серединой и единственно-правильным, а все остальные "кубики созданные чужим дядей для имбецилов". Тогда надо идти дальше и убирать все остальные промежуточные звенья и переходить на полностью дискретный уровень, чтобы исключить драйвера, среды разработок и т.д. Покупаем отдельно таймера, мультиплексора, счётчики, сдвиговые регистры и т.д. и делаем действительно профессиональное устройство.Ещё раз, Вы также используете "кубики созданные чужим дядей для имбецилов", но при этом одни кубики Вы, по всей видимости, таковыми не считаете. Почему-то сразу вспомнился фрагмент из кинофильма "Инспектор ГАИ"
  8. Конечно имеет, Вы же за "чистоту" кода, а здесь оказывается появился ST-link, драйвера под него и т.д., т.е. пользуемся сторонним устройством и кодом, который может также "криво" написан и как следствие МК может "прошиваться" не так как заявлено или при каких-то условиях что-то недозагрузить или загрузиться с ошибками и т.п. Компилятор сами писали? А как же "чистота" кода? Нельзя использовать сторонние "кубики созданные чужим дядей для имбецилов". Вы и сами понимаете абсурдность полного написания всего с нуля, но при этом не замечаете, как сами пользуетесь сторонними устройствами и кодом, которые МОГУТ тем или иным образом влиять на МК. Я бы и не стал продолжать данную "дискуссию", если бы не Ваше сравнение всех кто пользуется "сторонними кубиками имбецилами".
  9. Т.е. Вы абсолютно уверены, что ОС, среда разработки, драйвера и т.д. никак не повлияют на МК? Может я где-то ошибаюсь, т.к. в МК новичок, но стесняюсь спросить, а чем собственно Вы "прошиваете" контроллер?
  10. @ruhi соглашусь с Вами. Поймал себя на мысли, что нередко попадаются статьи, где тот же полиморфизм трактуют как исключительно перегрузку методов.
  11. Ребята, не "ругайтесь", чтобы в общих чертах понять суть ООП, достаточно в поисковике набрать "парадигмы ооп".
  12. Думал, что закончу со спором, но не могу пройти мимо подобных оскорблений. Я Вам открою страшную тайну, операционная система, которой Вы пользуетесь при проектировании, также является «кубиком созданным чужим дядей для имбецилов», среда разработки, в которой Вы пишите код, аналогично. Драйвер для МК на ОС я также не думаю, что Вы с нуля писали и эту цепочку можно продолжить/расширить. И каждый из этих «кубиков» может тем или иным образом повлиять на дальнейшую правильную работу МК. Добро пожаловать в клуб по «складыванию кубиков созданных чужим дядей для имбецилов». Открою ещё одну страшную тайну, бОльшая часть кода ОС, ИСР писалАсь людьми, которые, возможно, не до конца понимали как работает тот или иной регистр на ПК, но это не мешает миллионам людей пользоваться данными продуктами. Да, можно резонно заметить, что ОС периодически тормозят, их надо перезагружать из-за утечек памяти и т.п., но несмотря на это люди такие "мазохисты", что почему-то предпочитают периодически подвисающий смартфон, чем хорошо сделанный калькулятор на регистрах. Не следует. Если есть функция, класс, не важно, которая на 80% подходит для решаемой задачи и вы прекрасно её читаете и понимаете что и как она делает, нет смысла писать всё с нуля, достаточно доработать 20%. Вот в этот момент и переходите на ППР. Это из разряда: "есть два мнения: моё и неправильное". Вам это интересно, а другому интересно делать "подвисающие смартфоны", которыми будут пользоваться многие.
  13. Это кто-то оспаривает? Повторюсь, в том то и дело, что это зависит от конкретного ЧЕЛОВЕКА, захочет разобраться - разберётся, нет - регистры его не спасут. Скорее речь идёт о "патологическим мазохизме". Взял человек всё ту же злосчастную отвёртку, попробовал закрутить 1 шуруп - получилось, 2-й, 3-й,...10-й - получилось, может настало время для модернизации/рационализации/оптимизации и перейти на шуруповёрт, а отвертку использовать только в труднодоступных местах , где без неё действительно не справиться. Пожалуй, дальнейший обмен завуалированными "любезностями" пора прекращать, кто хотел понять мою мысль, скорее всего понял. Я могу конечно привести ещё один пример оптимизации на ручной мясорубке и мясорубке с мотором, но боюсь она не выдержит интеграции мкс и бензопилы.
  14. Я где-то писал, что HAL это исключительный атрибут высокоуровневого программирования? Ещё раз, повторюсь, человеку дали шуруповёрт, но пользуется им как обычной отвёрткой, при этом считает себя опытным оператором кибернетического устройства (это к вопросу затруднительной читабельности). Смотрите, я делаю халабуду (специально подчеркнул), не модуль управления космического корабля, не кардиостимулятор, а халабуду, которой буду пользоваться сам, может ещё и друзья захотят. Снимаю показания с 5-6 датчиков, обрабатываю несколько внешних прерываний, немножко использую АЛУ, память, несколько таймеров и вывожу на дисплей (в дальнейшем планировал на Java сделать приложения для смартфонов). По "настоятельной рекомендации" здешних форумчан и ради собственного спортивного интереса, начал переписывать код в формате ППР (Пишу Прямо в Регистры), сделал пока правда только половину. Запустил и о чудо, на моей халабуде это никак не отразилось . НО, переписывание кода в ППР меня натолкнуло на одну мысль (может кому-то покажется дурацкой и идиотской), а что мешает делать код на HAL, т.к. это гораздо удобнее, быстрее и если появится необходимость, просто взять и "перенести" его из HAL в ППР. Т.е. HAL можно использовать как своего рода макетную плату, на которой быстро всё сделал, протестировал, а потом также быстро сделал печатку (ППР), если в этом будет необходимость. Т.е. сначала работаем крупным абразивом (HAL), придаём первоначальную форму, а потом шлифуем и полируем (ППР). Ведь если сразу начать с полировки, то на это уйдёт слишком много времени.
  15. Ребята, не в обиду будет сказано, но те у кого код HAL вызывает "шок", непонимание и т.д., у меня складывается такое впечатление, что вы на Си все перешли с ассемблера, причём впопыхах. Т.е. не разобравшись до конца со всеми преимуществами высокоуровнего программирования, сразу же по старинке начали использовать язык лишь как средство для обращения к регистрам. Поэтому и волна возмущений, что код это «кошмар», «ужас», «Читаемый КЕМ» и т.д. Мне это напоминает следующее. Вы закручиваете шурупы отверткой, к вам подходит человек и говорит: «не мучайтесь, не делайте одну и ту же монотонную работу, возьмите лучше шуруповерт, будет гораздо быстрее». Вы решили воспользоваться советом и взяли шуруповёрт, но т.к. вам не объяснили, как им пользоваться, вы начали шуруповёртом закручивать шурупы также как и обычной отверткой, создав тем самым ещё больше неудобств, вместо того, чтобы просто нажать на кнопку. Т.е. Вы считаете, что программируя «напрямую в регистры» Вы защищены от утечек памяти? Если да, разочарую Вас и повторюсь, это не зависит от того, человек программирует «напрямую в регистры» или на «высоком уровне», это зависит от самого программиста. Если программист изначально не приучен с ними бороться, он их не будет отслеживать ни на каком уровне. Ещё раз акцентирую внимание, что «не хотят вникать и разбираться» зависит от человека. Что мешает взять чужой код «на регистрах», вставить в свой проект и бездумно использовать. Если человек хочет разобраться, он разберётся, если нет, то и «регистры» его не спасут. Повторю, я не против обращения к регистрам напрямую, сам потихоньку с ними знакомлюсь, но В РАЗУМНЫХ ПРЕДЕЛАХ, когда в этом есть крайняя необходимость, постоянно писать программу на них считаю несколько утопичным занятием. Что мешает добавить ещё немного дискретности, выкинуть МК и всё устройство делать на 155-й серии (таймера, сдвиговые регистры, счётчики делители, мультиплексора и т.д., всё есть), чем я в юношестве занимался. Да будет долго, да будет громоздко, но вы ведь добьётесь тогда главного результата, к которому стремитесь – ощущение, что вы полностью «овладели регистрами». На правах начинающего заявляю, да, сэкономил время причём очень существенно. Причём не просто сэкономил, а послужил определённым "мотиватором" для дальнейшего изучения МК. И как начинающий говорю, если бы я начинал с регистров напрямую, подводных камней было бы в разы больше, т.к. поначалу флаг бы какой-то не установил, режим не тот выставил, ещё что не понял, в результате получились бы сплошные грабли. А HAL с самого начала направлял в "правильное русло". Повторюсь, сейчас и прямой код на регистрах стал гораздо понятнее. Полностью согласен с mail_robot. Смотрите как у меня происходило знакомство с МК пару недель назад. Я открыл пару примеров с "регистрами на прямую", вообще ничего не понятно, т.е. чтобы мне полноценно писать программу, мне надо в каждый регистр заходить и смотреть за что он отвечает. С HAL, т.к. код самодокументируемый, я уже из названия функции, например, приведённая выше HAL_GPIO_WritePin() уже понимаю за что она отвечает. Захожу во внутренности функции, смотрю регистры и становится гораздо понятнее.
×
×
  • Create New...