ttt222
-
Постов
43 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Сообщения, опубликованные ttt222
-
-
7 минут назад, mail_robot сказал:
сомневаюсь, что профильное образование в обсуждаемом вопросе имеет хоть какое то значение.
как это не имеет? )
0 -
29 минут назад, Koret сказал:
С чего Вы взяли, что именно Ваш подход считается профессиональным
я так думаю считать свой подход профессиональным ему дает многолетний опыт разработки и профильное образование, которого по Вашим же словам у Вас нет)
вообще ситуация смешная, дилетант пытается переубедить профи как надо..
0 -
@my504 давно с интересом читаю Ваши посты.
много умного и правильного пишите как по мне
1 -
15 минут назад, Koret сказал:
Т.е. Вы считаете, что программируя «напрямую в регистры» Вы защищены от утечек памяти? Если да, разочарую Вас и повторюсь, это не зависит от того, человек программирует «напрямую в регистры» или на «высоком уровне»
нет, я так не считаю, это было в ответ на Ваше предложение о том как эффективные программисты пишут хорошие программы не зная того под что они пишут, результаты этой писанины всем хорошо известны - пухнет код, а вместе с ним растет количество ошибок, в том числе и критичных. не редко приходилось читать целые поэмы как настоящие профессионалы борятся с компиляторами, тратя уйму времени на это, когда читаешь подобные вещи начинаешь хорошо понимать что этим занимается один программист из 100, остальные даже понятия не имеют что, где смотреть и как и что отлавливать
уверен что больше половины так называемых спецов так и продолжают программировать не понимая во что же на самом деле выливается весь их код. эти спецы сами не понимают что делают и пытаются всех уверить что так и надо программировать, а все остальное лишняя трата времени.
если говорить о arm, то я не имел ранее дел с этой архитектурой, вот, только сегодня получил микроконтроллер стмовский. будем изучать его потихоньку, начнем как и полагается с .... ассемблера..
0 -
10 часов назад, Koret сказал:
но достаточное большое кол-во современных программистов на ПК практически понятия не имеют как устроен ПК, но при этом пишут хорошие программы
погуглите информацию о количестве ошибок в коде даже не пользовательских программ, а ОС. насколько помню в них среднее количество ошибок в районе 10 на 1000 строчек кода.
а объем совеременных ОС уже давно составляет десятки миллионов строк кода. проблемы с памятью которая даже в ядре течет. и всем этим пользуется как прокладкой программист пишущий пользовательскую программу. и который тоже по большому счету мало понимает что за инструменты и "материалы" применяет. потому что его приучили не думать об этом изначально, а довериться тому кто предоставил все это
в связи со всем этим мне приходится раз в неделю перезагружать свой смартфон, поскольку он начинает конкретно тупить, а тупит потому что память течет, результат работы какой_то "хорошей" программы) возможно не одной.
0 -
я считаю так, что в любом деле люди делятся на специалистов, - профессионалов, и тех кто любители или мимикрируют под профессионалов
одну категорию от другой отличает уровень знание предмета.
всегда истинный профессионал отличается глубоким знанием предмета, той области в которой он профессионал.
если перед нами веб программист, глупо рассчитывать на то что он обладает некими глубокими знаниями в области низкоуровневого программирования, для работы знать это ему нет необходимости
нужны ли глубокие знания архитектуры МК профессионалу в области программирования МК? я считаю нужны, иначе какой он профессионал? писать код он может на чем угодно, но он должен прекрасно разбираться в том с чем он работает
и думаю ни один настоящий профессионал не скажет что не нужно знать ассемблер, что эти знания лишние и достаточно только Си
п.с. я не профессионал в программировании МК
0 -
1 минуту назад, ARV сказал:
научиться программировать...
научиться программировать под МК как я понимаю? ) а не просто программировать
программисты 1С тоже считают себя программистами
0 -
3 минуты назад, ARV сказал:
Си позволит манипулировать абстракциями намного проще, чем ассемблер, который будет тяготеть к погружению в не важные подробности...
на это я могу так же ответить что это не аргумент в выборе языка при изучении МК
0 -
2 минуты назад, ARV сказал:
Это я к тому, что историческая перспектива развития языков программирования - это не аргумент при выборе языка для обучения.
ну именно в этом ключе я этого и не утверждал.
однако если говорить о том с чего начинать изучать программирование МК, то я думаю что стоит с ассемблера.
а то как то даже и смешно, Attiny2313 и СИ
0 -
17 минут назад, mvkarp сказал:
Так что-же первоначально - яйцо или курица? Коды или высокий уровень
первоначально машинные коды, в машинных кодах писали изначально программы, пока появились языки высокого уровня люди уже довольно эффективно писали программы в машинных кодах, на ассемблере, отработаны были всевозможные алгоритмы и конструкции, а уже потом на эти отработанные знания натянули высокоуровневую оболочку, иначе как по Вашему стало возможно появление всевозможных конструкций и функций? просто напросто ассемблерные процедуры которые использовались уже десятилетиями взяли и назвали так как назвали, процесс двигался в этом направлении, а не от того что придумали язык и затем стали думать каким образом его можно реализовать, и возможно ли это. то есть до появления языков высокого уровня уже было практически все наработано
0 -
симбиоз это прекрасно, только в случае если полностью осознаешь что ты делаешь, что дано профессионалам, а не начинающим, каковым является топикстартер.
я тоже писал о применении более высокого абстрактного уровня который может дать тот же Си, но это не значит что Си надо выбирать первым языком в изучении МК
0 -
6 минут назад, BARS_ сказал:
А красота им даром не нужна, это не картина
под красотой кода всегда подразумевалось необходимое решение в минимальном объеме. минимальный объем и высокое быстродействие, что тут для Вас лишнее?
0 -
@-=FISHER=- если для Вас это хобби, и Вы хотите действительно научиться программировать под AVR, как писали об этом, обратите внимание на ассемблер
знание, даже небольшое Си это хорошо, потому как дает некое представление о языке высокого уровня, но это хорошо только в том случае если есть с чем сравнить. что такое Си? Си не появился в одночасье, это не результат работы одного человеческого гения, все эти функции языка это по сути своей оформленные ассемблерные процедуры, и реализуется он через них, и корни его как и всех языков программирования в ассемблере
чтобы программы под мк были красивыми и эффективными писать их надо на ассемблере, где то используя более высокий абстрактный уровень языка Си, но не писать на нем самом
и относиться к программированию как к решению ребусов и прочих головоломок, ( Вы же от решения их по определению должны испытывать удовольствие) если это не работа
не надо гнаться за быстрым результатом, лучше концентрироваться на глубине знаний получаемых в процессе работы с мк
2 -
24 минуты назад, -=FISHER=- сказал:
У меня есть заветная мечта, это научиться правилам хорошего тона при написании программы. У меня уже получается решать лёгкие задачи, но их описание на Си выглядит по моему мнению коряво, громоздко и состоит из великого множества if-else
чем у Вас обусловлен выбор языка программирования для МК Attiny 2313?
0 -
иными словами это 8.912 Мгц? или как иначе понять 8912
1 -
привет
есть кварцевый резонатор, на нем надпись 8912, что за значение это? мегагерцы, килогерцы?
0 -
вопрос к тем кто действительно знает 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 первое значение уже соответствует действительности, второе нет, и кстати, оно не соответсвует и предыдущему когда строчка была одна, а не две
хотелось бы чтобы кто нибудь прояснил ситуацию, как такое возможно, и как потом это заливается в мк, и работаем
очевидно что я чтото не понимаю, но ребус какой то сложноватый оказался
0 -
20 минут назад, my504 сказал:
правда это нужно будет как то объяснить тому программатору, который Вы для этого будете использовать, сиречь написать свой участок кода не с начала флеша
не будет ни какого программатор, код будет набираться с помощью клавиатуры в хекс, сохраняться в ОЗУ и оттуда записываться во флеш, все адреса будут вноситься вручную. для того чтобы особо не забивать себе голову адресами начала и конца предыдущего участка кода подпрограммы будут располагаться с начала страниц, и тут я подумал что чтобы упростить для начала, можно было бы рвать код, располагая куски одной подпрограммы в разных следующих друг за другом страницах не особо следя полностью записана предыдущая страница или нет.
ну да ладно. сегодня попробую, что из этого выйдет
0 -
2 минуты назад, my504 сказал:
В любой программе для МК имеется так называемый "суперлуп". То есть зацикленный участок кода, в котором и происходит исполнение всего функционала устройства. Из этого цикла происходят вызовы функций и выходы в прерывания. Но всегда код возвращается в этот цикл. Никто не допускает выход кода в участок непрошитой памяти программ
все это мне известно, и про супер лупы, и прочее.
а интересовал меня этот вопрос потому что хотел писать во флеш страницами, и я подумал что возможно было бы удобнее дописывать и переписывать каждый раз с начала некой новой страницы, не обращая внимания насколько полностью заполнена предыдущая, в которой может располагаться часть кода, без перехода на новую страницу
0 -
@my504 да, хотел поиграть с возможностями самопрограммирования AVR. просмотрел я все байт-коды, нет ни одной команды в которой одни 1, хотя бы один 0 да присутствует. видимо это специально сделано. возможно мк может "знать" когда он шагает по не прошитой флеш
24 минуты назад, my504 сказал:С чего бы работающему коду исполнять участок, на который в нем нет перехода?
ну это я так, академический интерес)
0 -
2 часа назад, Геннадий сказал:
Процессор в непрошитую зону не пойдет
почему не пойдет? аппаратно распознает что там непрошитая флеш? и как он далее себя поведет? что произойдет?
0 -
спасибо за ответы
еще вопрос у меня.
как поведет себя процессор авр если у меня во флеше програмный код буд разорван, и между его частями останется непрошитое место. тоесть, выполняется код, и вот уперся он в непрошитые ячейки, что будет происходить? поскачет по ним дальше или что? операция nop вроде как 0000 по памяти, процессор непрошитые ячейки как операцию nop исполнит?
0 -
привет
скажите с какой скоростью фронты на выводах у AVR формируются? не нашел где бы это посмотреть. чему она равна, тактовой частоте? или нет?
0 -
@mail_robot тем более. пора житейской мудрости набраться
0
STM32 для чайника
в STM32
Опубликовано
все верно
я как дилетант это могу полностью подтвердить. если задача стоит более сложная чем помигать светодиодом или подцепить к МК дисплей, термодатчик , и выходит за рамки того что можно нагуглить в сети, вот тут уже для дилетанта начинаются проблемы.
пол года создавал и собирал один прибор, для себя. собрал, все работает, осознаю что профи сделал бы это гораздо быстрее и качественнее. а написать программу под МК это дело десятое уже было по сложности.