Добавить форум Fonarevka.ru в Избранное ×
FONAREVKA.RU - Всё о фонарях и осветительной технике
Регистрация Дневники Группы Альбомы Каталоги Поиск Сообщения за день Отметить все разделы прочитанными
Вернуться   Форум FONAREVKA.RU Лаборатория Разработка, модификация фонарей и их компонентов Разработка и модификация электроники фонарей
Забыли пароль? Регистрация
Войти через OpenID



  • Бесплатные розыгрыши призов
  • Розыгрыши призов в соц. сетях!
  • Для гостей форума
  • О нашем проекте
  • Пожертвования (Donate)
  • Реклама на форуме
На форуме ежемесячно проходят бесплатные розыгрыши призов для зарегистрированных и активно общающихся форумчан. Вы можете выиграть не только различные фонарики, зарядные устройства, аккумуляторы и другие аксессуары известных брендов, а также фонари и компоненты от известных кастомщиков и мелкосерийных производителей, но и другие призы, такие как мультитулы, ножи, рюкзаки и другое снаряжение. Все проходящие розыгрыши призов для форумчан абсолютно бесплатные и призы для розыгрышей предоставляют спонсоры, вам достаточно нажать кнопку "Принять участие" и ждать результата. Форумчане не несут никаких финансовых и имущественных рисков, связанных с участием в данных розыгрышах (т.е. вы ничего не оплачиваете и ни чем не рискуете). С момента начала проведения данных розыгрышей более 100 форумчан стали обладателями весьма неплохих призов и количество победителей продолжает увеличиваться!
В ближайшее время состоятся очередные розыгрыши призов - следите за информацией!

Рекомендуем Вам подписаться на тему (оптимальнее с уведомлением на ваш E-mail), где публикуется информация о новых розыгрышах призов.

Подробная информация по ссылке

Ответ  Создать новую тему
Просмотров в теме 14906   Ответов в теме 111   Подписчиков на тему 8   Добавили в закладки 1
Опции темы
Старый 06.09.2013, 23:23   101
mws
Увлеченный
 
Аватар для mws
 
Регистрация: 02.09.2013
Последняя активность: 22.05.2017 20:55
Адрес: колыбель космонавтики
Сообщений: 199
Сказал(а) спасибо: 49
Поблагодарили: 29 раз(а) в 21 сообщениях

По умолчанию Re: Немного о программаторах AVR

Цитата:
Посмотреть сообщение Сообщение от INFERION :
Макросам так же можно передавать параметры, как и функциям. Макроассемблер хорошая штука, но реально мне ни разу ещё не надобился. Я вообще не люблю все эти абстрагирования, когда приходится держать кучу открытых файлов и постоянно скролить, чтоб что-то отследить...
Насчёт скроллинга - ещё неизвестно где больше скроллить, макросы могут существенно уменьшить размер исходника, за счёт этого скроллить станет меньше. А то что приходится открывать текст макроса, так это только поначалу, при первой отладке, впоследствии к нему очень редко приходится обращаться. Кроме того код становится более структурированным, гораздо легче заметить ошибки.
Честно говоря не представляю как можно без макросов программить на асме. Нет ну можно конечно (сам так когда-то делал ), но с ними проще всё-таки. Я так думаю.
mws вне форума   Ответить с цитированием Вверх
Реклама на форуме.
Разместить рекламу





Старый 06.09.2013, 23:59   102
INFERION

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: Сегодня 03:34
Адрес: Украина, Полтава
Сообщений: 3120
Сказал(а) спасибо: 100
Поблагодарили: 1862 раз(а) в 645 сообщениях

По умолчанию Re: Немного о программаторах AVR

Это спор о вкусах. Я попробовал и мне не понравилось. Макроассемблер мне напомнил Си, я почувствовал себя инвалидом с нехваткой ОЗУ головного мозга, которому ещё и больше текста писать приходится. Да и запутаться в линейном полотне, инструкции которого в одном файле, очень трудно. В отличии от Сишной структуры, которую даже не прочитать как книгу. Ассемблер читается строка за строкой, страница за страницей, даёт возможность дописывать главы, изменять абзацы и предложения. Древовидная структура вместо этого заставляет судорожно прыгать туда-сюда, отслеживая что кого и куда вызывает/возвращает, постоянно перелистывая по пол книги, пытаясь собрать пазл, чтоб вкурить творение автора...
INFERION вне форума   Ответить с цитированием Вверх
Старый 07.09.2013, 12:22   103
mws
Увлеченный
 
Аватар для mws
 
Регистрация: 02.09.2013
Последняя активность: 22.05.2017 20:55
Адрес: колыбель космонавтики
Сообщений: 199
Сказал(а) спасибо: 49
Поблагодарили: 29 раз(а) в 21 сообщениях

По умолчанию Re: Немного о программаторах AVR

INFERION,
Цитата:
Посмотреть сообщение Сообщение от INFERION :
Это спор о вкусах. Я попробовал и мне не понравилось.
Врядли тут дело вкуса, просто на одних задачах макросы действительно не нужны, на вторых без них можно обойтись, а в третьих без них очень туго. Мне как-то попался как раз третий случай, я начал использовать макросы, и теперь вижу, что и на "вторых" вполне можно было облегчить себе жизнь.

Цитата:
Посмотреть сообщение Сообщение от INFERION :
Макроассемблер мне напомнил Си, я почувствовал себя инвалидом с нехваткой ОЗУ головного мозга, которому ещё и больше текста писать приходится.
Мало общего вижу с Си, макрос это не функция, он не получает параметры через стек и не возвращает. И я абсолютно не понимаю, почему больше текста. Сначала пишется макрос, в потом везде, где без макроса было бы несколько строк текста будет одна строка. А если ещё и вложенные макросы применяются, то размер заменённого текста ещё больше.

Цитата:
Посмотреть сообщение Сообщение от INFERION :
Ассемблер читается строка за строкой, страница за страницей, даёт возможность дописывать главы, изменять абзацы и предложения. Древовидная структура вместо этого заставляет судорожно прыгать туда-сюда, отслеживая что кого и куда вызывает/возвращает, постоянно перелистывая по пол книги, пытаясь собрать пазл, чтоб вкурить творение автора...
Макрос не нарушает линейной структуры, это не вызов функции, а всего-навсего подстановка текста. И в случае обнаружения ошибки в макросе, достаточно исправить один небольшой кусок, сам макрос. А если обнаруживается ошибка в "линейном" тексте, вот тогда приходится судорожно прыгать по всей простыне и искать, где же ещё используется подобная операция, при этом рискуя что-то пропустить, а где-то ошибиться при исправлении. Особенно весело когда операции однотипные, но отличаются какими-то параметрами, тогда исправляя несколько подряд кусков есть шанс "по инерции" исправить второй кусок так же как предыдущий, забыв что он должен обращаться к другим переменным. Если их один-два, то вероятность небольшая, а если 16?
mws вне форума   Ответить с цитированием Вверх
Старый 07.09.2013, 13:00   104
INFERION

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: Сегодня 03:34
Адрес: Украина, Полтава
Сообщений: 3120
Сказал(а) спасибо: 100
Поблагодарили: 1862 раз(а) в 645 сообщениях

По умолчанию Re: Немного о программаторах AVR

Цитата:
Посмотреть сообщение Сообщение от mws :
Мало общего вижу с Си, макрос это не функция, он не получает параметры через стек и не возвращает.
А дело тут не в реализации на машинном уровне, а в представлении. Макрос выглядит как функция, и ему так же передаются параметры. Просто компилятор его код тулит непосредственно на место "вызова", подставляя необходимые значения в нужные места, а не оформляет подпрограммой передавая параметры через стек. В конечном итоге читается это всё человеком одинаково...
Цитата:
Посмотреть сообщение Сообщение от mws :
И я абсолютно не понимаю, почему больше текста. Сначала пишется макрос, в потом везде, где без макроса было бы несколько строк текста будет одна строка. А если ещё и вложенные макросы применяются, то размер заменённого текста ещё больше.
Под "пишется" я подразумеваю всё кроме копипаста. И вставить парой кликов готовый блок инструкций вместо макроса для меня проще, чем делать то же самое, но предварительно оформив макросом и затем ломая голову где и какие параметры менять. В голых инструкциях сразу всё видно и я могу спокойно подправить что нужно. И нет у меня задач, где код состоит из полотна с идентичными участками. Всё идентичное сбрасывается в одно место - в подпрограмму, т.к. это экономит тонну памяти. Так что макросы ситуацию нисколько не облегчают. Вообще даже своеобразный API у меня сразу же лепится в прерывание, и возня с периферией сводится к простой записи чего-то там в какой-то регистр, даже если реально на пин выводится что-то хитрое и сложное (к примеру в драйверах RGB индикатор использует весьма хитрую программную модуляцию 2-х пинов, а ШИМ так же полупрограммный и имеет разрешение 16 бит при частоте основной гармоники в 250кГц). Даже тут не требуются сложные процедуры, которые бы оправдали использование спец. макросов.
Цитата:
Посмотреть сообщение Сообщение от mws :
Врядли тут дело вкуса, просто на одних задачах макросы действительно не нужны, на вторых без них можно обойтись, а в третьих без них очень туго. Мне как-то попался как раз третий случай, я начал использовать макросы, и теперь вижу, что и на "вторых" вполне можно было облегчить себе жизнь.
Говорю же - был у меня 3-й случай. Пришлось заюзать макросы из-за того, что требовалось прыгнуть выше головы и написать полотно без переходов и прерываний, где каждые 32 такта выполнялись они и те же 4 инструкции (в прерывании все 11), а каждые 256 тактов выполнялся другой набор инструкций, но требования к быстродействию не позволяли засунуть это всё в прерывания. Там действительно было удобно использовать макросы, но геморрой оказался в другом - править такой код, в котором всё разбито с точностью до такта - невозможно. Необходим хитрый компилятор, который самостоятельно может порезать на части основную функцию и вставить между этими кусками то, что обычно оказывается в прерывании по переполнению таймера. А в таком случае макросы опять же уже не нужны. В остальных ситуациях, несмотря на то что я их таки изучил и попробовал, они мне показались неудобными...
Цитата:
Посмотреть сообщение Сообщение от mws :
Макрос не нарушает линейной структуры, это не вызов функции, а всего-навсего подстановка текста.
Макрос выглядит именно как вызов функции, я не вижу с чего он слеплен в том месте, где он подставляет свой текст. Для меня это всё равно что вызов, к примеру, printf (). И как мне по этой записи понять, как именно он выводит текст, какие переменные при этом затрагивает и сколько тактов жрёт? Правильно, мне нужно лезть отдельно в его тело и изучать. В итоге объём изученного текста не меньше, но он оказывается фрагментированным, что усложняет задачу.
Цитата:
Посмотреть сообщение Сообщение от mws :
А если обнаруживается ошибка в "линейном" тексте, вот тогда приходится судорожно прыгать по всей простыне и искать, где же ещё используется подобная операция, при этом рискуя что-то пропустить, а где-то ошибиться при исправлении.
Да, есть такая вещь. Это если много сложных участков с однотипной задачей, которых у меня просто не бывает (иначе они все оказываются в подпрограмме). А в простых я не так уж и часто туплю, чтоб терпеть макросы.

Так что дело всё же во вкусе. Многое зависит от самого автора, от его стиля и предпочтений. Программирование ведь как искусство, одну и ту же вещь можно написать по-разному. И кому-то один и тот же код покажется красивым, кому-то не очень, кто-то скажет что он не эффективен, а кто-то - что он удобен. И пофиг что там говорят никогда не сталкивавшиеся с этим гуманитарии...

[Исправлено: INFERION, 07.09.2013 в 13:10]
INFERION вне форума   Ответить с цитированием Вверх
Старый 07.09.2013, 14:02   105
mws
Увлеченный
 
Аватар для mws
 
Регистрация: 02.09.2013
Последняя активность: 22.05.2017 20:55
Адрес: колыбель космонавтики
Сообщений: 199
Сказал(а) спасибо: 49
Поблагодарили: 29 раз(а) в 21 сообщениях

По умолчанию Re: Немного о программаторах AVR

Цитата:
Посмотреть сообщение Сообщение от INFERION :
А дело тут не в реализации на машинном уровне, а в представлении. Макрос выглядит как функция, и ему так же передаются параметры.
Выглядит также как и инструкция, ассемблера, если не делать больше двух-трёх параметров. Больше делать нет смысла, я считаю, легко запутаться. Зато сразу понятно о чём идёт речь и можно не писать комментариев, например SelectModem1 для меня понятней, чем cbi PORTB,0. Когда начинаешь проект вроде бы всё и так понятно, а когда приходится вернуться к нему спустя год - это уже совсем другое дело.

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

Но я с тобой согласен, во многом зависит как от вкуса так и от конкретных задач.
mws вне форума   Ответить с цитированием Вверх
Старый 07.09.2013, 18:46   106
Tamagotchi

 
Аватар для Tamagotchi
 
Регистрация: 07.09.2011
Последняя активность: Вчера 23:27
Адрес: Волгоградская обл.
Сообщений: 13305
Сказал(а) спасибо: 3073
Поблагодарили: 6896 раз(а) в 3241 сообщениях

Отправить сообщение для Tamagotchi с помощью Skype™
По умолчанию Re: Немного о программаторах AVR

Ну, блин, обсудили программаторы. ОДНА страница по теме и 10 лишних. Пора просить Админа почистить тему.
Tamagotchi вне форума   Ответить с цитированием Вверх
Старый 07.09.2013, 19:13   107
INFERION

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: Сегодня 03:34
Адрес: Украина, Полтава
Сообщений: 3120
Сказал(а) спасибо: 100
Поблагодарили: 1862 раз(а) в 645 сообщениях

По умолчанию Re: Немного о программаторах AVR

Только не удалением, а переносом писанины в тему по программированию, ибо полезно...
INFERION вне форума   Ответить с цитированием Вверх
Старый 07.09.2013, 19:21   108
Tamagotchi

 
Аватар для Tamagotchi
 
Регистрация: 07.09.2011
Последняя активность: Вчера 23:27
Адрес: Волгоградская обл.
Сообщений: 13305
Сказал(а) спасибо: 3073
Поблагодарили: 6896 раз(а) в 3241 сообщениях

Отправить сообщение для Tamagotchi с помощью Skype™
По умолчанию Re: Немного о программаторах AVR

INFERION,
Разумеется
Tamagotchi вне форума   Ответить с цитированием Вверх
Старый 07.09.2013, 20:05   109
ploop
Ветеран Фонарёвки
 
Аватар для ploop
 
Регистрация: 06.03.2013
Последняя активность: 23.11.2017 20:36
Адрес: Тамбовская обл.
Сообщений: 3543
Сказал(а) спасибо: 383
Поблагодарили: 941 раз(а) в 647 сообщениях

По умолчанию Re: Немного о программаторах AVR

Цитата:
Посмотреть сообщение Сообщение от INFERION :
Только не удалением, а переносом писанины в тему по программированию, ибо полезно...
Согласен. Я за.
ploop вне форума   Ответить с цитированием Вверх
Старый 08.09.2013, 20:26   110
027
Можно спрашивать
 
Аватар для 027
 
Регистрация: 31.08.2011
Последняя активность: 06.06.2018 12:09
Адрес: Волгоград
Сообщений: 7633
Сказал(а) спасибо: 1792
Поблагодарили: 2480 раз(а) в 1335 сообщениях

По умолчанию Re: Немного о программаторах AVR

И пораскрывать эти чертовы спойлеры.
__________________
Хорошее дело мундиалем не назовут
027 вне форума   Ответить с цитированием Вверх
Ответ  Создать новую тему

Опции темы

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прошивка микроконтроллеров AVR VladislavS Разработка и модификация электроники фонарей 636 29.11.2015 19:36
Прошиваем AVR через FT232RL INFERION Разработки от INFERION 16 27.03.2014 23:39
немного о ШИМе вообще и PWM AVR в частности ka-pex Разное (кроме фонарей) 24 20.09.2013 02:51
Attiny24, Attiny44, Attiny84 8-ми битный микроконтроллер AVR datasheet EN1 Разное (кроме фонарей) 1 08.04.2012 20:25
Немного о флешоголизме... Очумелые ручки Потребительские обзоры и тесты фонарей 0 22.11.2010 03:29

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


 


Текущее время: 07:13. Часовой пояс GMT +3.
Даты в формате dd.mm.yyyy.
(По умолчанию форум работает по московскому времени.)


Powered by vBulletin® 3.6.x
Copyright ©2000 - 2014, vBulletin Solutions, Inc. Перевод: zCarot


FONAREVKA.RU - хоббийный проект, сообщество энтузиастов, для которых область фонаростроения (в частности фонарики, компоненты, зарядные устройства, источники питания и т.д.), это исключительно хобби и общение "по интересам".

Проект FONAREVKA.RU - не ведет торговую деятельность и не оказывает иных услуг, где существует коммерческая составляющая. Исключение составляют предоставление на нашей площадке рекламных мест для баннерной рекламы (без каких-либо привилегий для самого рекламодателя) и поддержка в рамках разумного мелкосерийных производителей и кастомщиков, для которых разработки, это в первую очередь многолетнее хобби.

Проект FONAREVKA.RU - не имеет никакого отношения к созвучным магазинам или доменам в других доменных зонах.

Все наши проекты, созданные в рамках основного проекта FONAREVKA.RU размещаются исключительно на поддоменах домена Fonarevka.ru

Список наших проектов:

Официальная база тестов и сравнения фонарей: Fonarevka.ru
Форум о фонарях и светотехнике: Forum.fonarevka.ru
Форум о лазерах и лазерной технике: Lasers.fonarevka.ru
База отзывов о товарах с DX и т.п.: Dxreviews.fonarevka.ru
Калькулятор светового потока: Ledcalc.fonarevka.ru
База тестов и сравнения фонарей от наших коллег: 3rdparty.fonarevka.ru
Глоссарий Фонарёвщика: Glossary.fonarevka.ru

vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2018 DragonByte Technologies Ltd.

Copyright ©2007 - 2018, FONAREVKA.RU.

Если Вы не являетесь правообладателем того или иного контента размещенного на форуме (фото/видео/текст),
то при любом использовании материалов форума необходимо получить письменное разрешение
на использование того или иного материала у администрации форума.

При использовании материалов форума ссылка на forum.fonarevka.ru обязательна.

Экстремальный портал VVV.RU Рейтинг@Mail.ru --> bigmir)net TOP 100




Время генерации страницы 0.26613 секунды с 23 запросами