|
|
|
|
А - я думал это ИК приемник для програмирования. |
|
|
Вот развесистая подборка пропеллерных часов: http://www.luberth.com/analog.htm |
|
|
Любитель: А я нашел способ борьбы с висяками в программировании - КАЖДАЯ сторочка, и не только на ассемблере, но и на языке высокого уровня должна содержать ПОДРОБНЫЙ комментарий. Мало того, заметил, что иногда начинаю новую строку программы писать с комментария Такую программу даже через месяц можно вспомнить и дописать или модернизировать. LDI R16,2 ; Здесь мы в R16 заносим 2 ADD R17,R16 ; Здесь мы к R17 добавляем 2, потому что 1 - мало, 3 - много, а 2 - самый то. Так что ли ? А я в каждом проекте завожу файл OSKOLKI . Вдруг какая-то фича оказывается ненужной или переделал ее на лучший вариант, а прежнее - в ОСКОЛКИ. Как виндовая Корзина Пару раз находил там стОящее...
|
|
|
Bul_d_Ozer: LDI R16,2 ; Здесь мы в R16 заносим 2 Замечательный пример бесполезного комментария лучше так: LDI R16,2 ; начальное значение счетчика отслеживаемых целей |
|
|
Bul_d_Ozer: LDI R16,2 ; Здесь мы в R16 заносим 2 Комментируется не синтаксис ассемблера, а программа!! В комментарии не пишется R16, а пишется что именно в Вашей программе хранит или складывает этот регистр. Абсолютно согласен! КАЖДАЯ СТРОКА ДОЛЖНА ИМЕТЬ КОММЕНТАРИЙ, потом мнооого времени себе сьэкономите!. И опыт,- сын ошибок трудных... (С)
|
|
|
Vlad_Petr: Bul_d_Ozer: LDI R16,2 ; Здесь мы в R16 заносим 2 Комментируется не синтаксис ассемблера, а программа!! В комментарии не пишется R16, а пишется что именно в Вашей программе хранит или складывает этот регистр. Абсолютно согласен! КАЖДАЯ СТРОКА ДОЛЖНА ИМЕТЬ КОММЕНТАРИЙ, потом мнооого времени себе сьэкономите!. Дык программа и есть множество строк, удовлетворяющих требованиям синтаксиса данного языка. Комментирровать каждую строку, я думаю, уже паранойя ( ничего личного ! ). Этим можно заниматься, если для себя лепишь одну-две проги в год. А если работаешь на заказ, то это деньги на ветер - как пиво без водки Я себе выработал стандарт де-факто : в начале подпрограммы или логически завершенного блока, выполняющего осмысленные действия, детально описываю интерфейс этого модуля : откуда что взяли, что с ним сделали и куда положили. Себе легче вспомнить и кто потом будет сопровождать, ему тоже понятно. А конкретную операцию комментировать - это если уж невзапно проклюнулось нечевидное решение, чтоб потом не мучиться - и какой идиот написАл такую хрень ( в моих прогах и такие комменты встречаются - это когда через некоторое время разбор идет ) . |
|
|
Bul_d_Ozer: ...если уж невзапно проклюнулось нечевидное решение Этот случай как раз хорошо иллюстрирует продолжение фразы, предложенной Vlad_Petr-ом: И гений - парадоксов друг. (А.С.Пушкин) Одному надо пройти весь путь A-B-C-D, другой находит неочевидное решение и идёт A-D.
|
|
|
Михась: В большинстве случаев: отсутствие соответствующего корпуса для устройства. Это точно. Покупать за 10 уей - жаба душит, а приспособить что-нить дешевое к своей задаче, так приходится порядком поломать репу. Я раз в магазинчике неликвидов нашего з-да ВТ нашел коробочек для больших дискет (5"). Попробовал запихнуть туда программатор, и увидел, что это хорошо. Побежал купить в запас - фиг вам. Скончались. Но программович получился классный : оптоотвязанный от компа и с переключением ПРОГР. - UART. Залил прогу, переключился - и имеешь при отладке любые сведения изнутри проца, если, конечно, эту фичу пропишешь в отлаживаемой проге.
|
|
|
Bul_d_Ozer: Я себе выработал стандарт де-факто : в начале подпрограммы или логически завершенного блока, выполняющего осмысленные действия, детально описываю интерфейс этого модуля : откуда что взяли, что с ним сделали и куда положили. Себе легче вспомнить и кто потом будет сопровождать, ему тоже понятно Есть подпрограммы в которые нет смысла лазить. Это те, которые тщательно оптимизированы (не обязательно Вами),- например математические функции.. тут конечно просто в начале описание интерфейса. Но очень многие ваши куски программы Вами применяются много раз в разных проектах с некоторыми изменениями. Весьма полезно заново "вьезжать" полностью в этот фрагмент и тут подробный комментарий позволяет сделать это быстро, безболезненно и заодно (часто) этот фрагмент улучшить.. Если комментарии не позволяют сразу влет видеть все тонкости фрагмента, Вы НЕ БУДЕТЕ снова в нем разбираться, а будете его готовым пристраивать. Вот и выходит, что точные и подробные комментарии способствуют УЛУЧШЕНИЮ КАЧЕСТВА Вашей библиотеки а не только ее обьема... |
|
|
Скоро одним "висяком" в моей радиолюбительской практике станет меньше. Когда я нашёл обломки микроволновки Samsung M6245, я снял панельку с цифровым блоком, чтобы использовать в качестве таймера для моего второго паяльника (он, как и первый, ЭПСН-25). Но, опять же, было "то в лом, то некогда, то опять в лом" - обычная для радиолюбителя история. И вот сегодня я, наконец, этот "висяк" "поднял". Он почти готов и работает, осталось корпус придумать подходящий. |
|
|
|
|