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

ttt222

Members
  • Постов

    43
  • Зарегистрирован

  • Посещение

Весь контент ttt222

  1. все верно я как дилетант это могу полностью подтвердить. если задача стоит более сложная чем помигать светодиодом или подцепить к МК дисплей, термодатчик , и выходит за рамки того что можно нагуглить в сети, вот тут уже для дилетанта начинаются проблемы. пол года создавал и собирал один прибор, для себя. собрал, все работает, осознаю что профи сделал бы это гораздо быстрее и качественнее. а написать программу под МК это дело десятое уже было по сложности.
  2. как это не имеет? )
  3. я так думаю считать свой подход профессиональным ему дает многолетний опыт разработки и профильное образование, которого по Вашим же словам у Вас нет) вообще ситуация смешная, дилетант пытается переубедить профи как надо..
  4. @my504 давно с интересом читаю Ваши посты. много умного и правильного пишите как по мне
  5. нет, я так не считаю, это было в ответ на Ваше предложение о том как эффективные программисты пишут хорошие программы не зная того под что они пишут, результаты этой писанины всем хорошо известны - пухнет код, а вместе с ним растет количество ошибок, в том числе и критичных. не редко приходилось читать целые поэмы как настоящие профессионалы борятся с компиляторами, тратя уйму времени на это, когда читаешь подобные вещи начинаешь хорошо понимать что этим занимается один программист из 100, остальные даже понятия не имеют что, где смотреть и как и что отлавливать уверен что больше половины так называемых спецов так и продолжают программировать не понимая во что же на самом деле выливается весь их код. эти спецы сами не понимают что делают и пытаются всех уверить что так и надо программировать, а все остальное лишняя трата времени. если говорить о arm, то я не имел ранее дел с этой архитектурой, вот, только сегодня получил микроконтроллер стмовский. будем изучать его потихоньку, начнем как и полагается с .... ассемблера..
  6. погуглите информацию о количестве ошибок в коде даже не пользовательских программ, а ОС. насколько помню в них среднее количество ошибок в районе 10 на 1000 строчек кода. а объем совеременных ОС уже давно составляет десятки миллионов строк кода. проблемы с памятью которая даже в ядре течет. и всем этим пользуется как прокладкой программист пишущий пользовательскую программу. и который тоже по большому счету мало понимает что за инструменты и "материалы" применяет. потому что его приучили не думать об этом изначально, а довериться тому кто предоставил все это в связи со всем этим мне приходится раз в неделю перезагружать свой смартфон, поскольку он начинает конкретно тупить, а тупит потому что память течет, результат работы какой_то "хорошей" программы) возможно не одной.
  7. я считаю так, что в любом деле люди делятся на специалистов, - профессионалов, и тех кто любители или мимикрируют под профессионалов одну категорию от другой отличает уровень знание предмета. всегда истинный профессионал отличается глубоким знанием предмета, той области в которой он профессионал. если перед нами веб программист, глупо рассчитывать на то что он обладает некими глубокими знаниями в области низкоуровневого программирования, для работы знать это ему нет необходимости нужны ли глубокие знания архитектуры МК профессионалу в области программирования МК? я считаю нужны, иначе какой он профессионал? писать код он может на чем угодно, но он должен прекрасно разбираться в том с чем он работает и думаю ни один настоящий профессионал не скажет что не нужно знать ассемблер, что эти знания лишние и достаточно только Си п.с. я не профессионал в программировании МК
  8. научиться программировать под МК как я понимаю? ) а не просто программировать программисты 1С тоже считают себя программистами
  9. на это я могу так же ответить что это не аргумент в выборе языка при изучении МК
  10. ну именно в этом ключе я этого и не утверждал. однако если говорить о том с чего начинать изучать программирование МК, то я думаю что стоит с ассемблера. а то как то даже и смешно, Attiny2313 и СИ
  11. первоначально машинные коды, в машинных кодах писали изначально программы, пока появились языки высокого уровня люди уже довольно эффективно писали программы в машинных кодах, на ассемблере, отработаны были всевозможные алгоритмы и конструкции, а уже потом на эти отработанные знания натянули высокоуровневую оболочку, иначе как по Вашему стало возможно появление всевозможных конструкций и функций? просто напросто ассемблерные процедуры которые использовались уже десятилетиями взяли и назвали так как назвали, процесс двигался в этом направлении, а не от того что придумали язык и затем стали думать каким образом его можно реализовать, и возможно ли это. то есть до появления языков высокого уровня уже было практически все наработано
  12. симбиоз это прекрасно, только в случае если полностью осознаешь что ты делаешь, что дано профессионалам, а не начинающим, каковым является топикстартер. я тоже писал о применении более высокого абстрактного уровня который может дать тот же Си, но это не значит что Си надо выбирать первым языком в изучении МК
  13. под красотой кода всегда подразумевалось необходимое решение в минимальном объеме. минимальный объем и высокое быстродействие, что тут для Вас лишнее?
  14. @-=FISHER=- если для Вас это хобби, и Вы хотите действительно научиться программировать под AVR, как писали об этом, обратите внимание на ассемблер знание, даже небольшое Си это хорошо, потому как дает некое представление о языке высокого уровня, но это хорошо только в том случае если есть с чем сравнить. что такое Си? Си не появился в одночасье, это не результат работы одного человеческого гения, все эти функции языка это по сути своей оформленные ассемблерные процедуры, и реализуется он через них, и корни его как и всех языков программирования в ассемблере чтобы программы под мк были красивыми и эффективными писать их надо на ассемблере, где то используя более высокий абстрактный уровень языка Си, но не писать на нем самом и относиться к программированию как к решению ребусов и прочих головоломок, ( Вы же от решения их по определению должны испытывать удовольствие) если это не работа не надо гнаться за быстрым результатом, лучше концентрироваться на глубине знаний получаемых в процессе работы с мк
  15. чем у Вас обусловлен выбор языка программирования для МК Attiny 2313?
  16. иными словами это 8.912 Мгц? или как иначе понять 8912
  17. привет есть кварцевый резонатор, на нем надпись 8912, что за значение это? мегагерцы, килогерцы?
  18. ttt222

    Ассемблер, опкоды

    вопрос к тем кто действительно знает avr и все их тонкости пишу на ассемблере, в студии 6. вот строчка LDI R16, 1, если посмотреть в Instruction Set Nomenclature то опкод выглядит так 1110 КККК dddd КККК константа которая заносится в регистр разбита на 2 части, регистры от р16 до р31 значит наша строка должна выглядеть так 1110 0000 0000 0001, регистр р16 имеет значение 0, в хекс это будет как Е001. однако если в студии написать эту команду и компилировать, то можно получить различные значения, складывается ощущение что на значение влияет местонахождение команды в коде, в общем как правило компилятор выдает в хекс некую "ерунду", пол дня игрался подставляя различные значения, регистры и прочее. оказывается можно даже менять значение которое необходимо внести в регистр, а на выходе в хекс значение одно и тоже, не меняется) набираю эту строчку LDI R16, 1, компилирую, в хекс E01D что соответствует LDI R17, 13, если ниже еще раз набрать LDI R16, 1 тут уже компилятор в хекс файле выдаст следующее E001 E03A первое значение уже соответствует действительности, второе нет, и кстати, оно не соответсвует и предыдущему когда строчка была одна, а не две хотелось бы чтобы кто нибудь прояснил ситуацию, как такое возможно, и как потом это заливается в мк, и работаем очевидно что я чтото не понимаю, но ребус какой то сложноватый оказался
  19. не будет ни какого программатор, код будет набираться с помощью клавиатуры в хекс, сохраняться в ОЗУ и оттуда записываться во флеш, все адреса будут вноситься вручную. для того чтобы особо не забивать себе голову адресами начала и конца предыдущего участка кода подпрограммы будут располагаться с начала страниц, и тут я подумал что чтобы упростить для начала, можно было бы рвать код, располагая куски одной подпрограммы в разных следующих друг за другом страницах не особо следя полностью записана предыдущая страница или нет. ну да ладно. сегодня попробую, что из этого выйдет
  20. все это мне известно, и про супер лупы, и прочее. а интересовал меня этот вопрос потому что хотел писать во флеш страницами, и я подумал что возможно было бы удобнее дописывать и переписывать каждый раз с начала некой новой страницы, не обращая внимания насколько полностью заполнена предыдущая, в которой может располагаться часть кода, без перехода на новую страницу
  21. @my504 да, хотел поиграть с возможностями самопрограммирования AVR. просмотрел я все байт-коды, нет ни одной команды в которой одни 1, хотя бы один 0 да присутствует. видимо это специально сделано. возможно мк может "знать" когда он шагает по не прошитой флеш ну это я так, академический интерес)
  22. почему не пойдет? аппаратно распознает что там непрошитая флеш? и как он далее себя поведет? что произойдет?
  23. спасибо за ответы еще вопрос у меня. как поведет себя процессор авр если у меня во флеше програмный код буд разорван, и между его частями останется непрошитое место. тоесть, выполняется код, и вот уперся он в непрошитые ячейки, что будет происходить? поскачет по ним дальше или что? операция nop вроде как 0000 по памяти, процессор непрошитые ячейки как операцию nop исполнит?
  24. привет скажите с какой скоростью фронты на выводах у AVR формируются? не нашел где бы это посмотреть. чему она равна, тактовой частоте? или нет?
  25. @mail_robot тем более. пора житейской мудрости набраться
×
×
  • Создать...