Вольтметр из Ардуино, делюсь опытом с Котами

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 165
Зарегистрирован: Чт фев 19, 2015 17:26:19
Откуда: СССР

Сообщение FantasyDD »

ты наверное очередной студентик (если не школьник) с непомерным чсв?
За свои слова отвечать не привык да? Привык хамить?
Все надеешься на западе халопом поработать, языки модные учишь. Обрадую, тебя там за быдло держать будут в первую очередь за твое воспитание.
Пиши в личику номер телефона, созвонимся СТУДЕНТ.
Реклама
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Сообщение kalobyte »

Vga писал(а):Но за неимением в С констант их приходится делать другими средствами, подходящих всего два - enum и #define.
ну так дефайн же и есть константа, она никак не влияет на размер кода, это же препроцессор
а больше и не надо
Vga писал(а):Скайп, кстати, на нем же писан
вроде как уже переписали
Vga писал(а):Другой вопрос - не поздно ли спохватились...
о чем я и говорю, .нет на гитхабе валяется уже
FantasyDD писал(а):За свои слова отвечать не привык да? Привык хамить?
чего тебе внезапно припекло?
FantasyDD писал(а):Пиши в личику номер телефона, созвонимся СТУДЕНТ.
по личкам не шарюсь, читай мою подпись

925 359 53 22 звони
тематические ответы только в форуме, в приват не пишите
Реклама
Vga
Встал на лапы
Аватара пользователя
Сообщения: 132
Зарегистрирован: Сб сен 12, 2009 18:38:12

Сообщение Vga »

kalobyte писал(а):ну так дефайн же и есть константа, она никак не влияет на размер кода, это же препроцессор
Дефайн не константа, дефайн макрос. У него много недостатков, включая отсутствие контроля со стороны компилятора и отсутствие средств ограничения видимости.
И размер скомпилированного кода - далеко не единственная его характеристика. И другие характеристики не менее, а зачастую и более важны. Врядли кто-то будет всерьез пользоваться асечкой на ассемблере - маленькой (30кб), но исключительно малофункциональной и падающей обычно еще при запуске, если повезет - через пару минут.
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Сообщение a5021 »

Мне кажется, что программисты могут спорить об одном и том же вопросе, на десяти и более форумах сразу. :)

Указывать нюансы языка человеку, который только что начал заниматься ардуиной, суть страшный моветон. Ардуина в этом смысле имеет достаточно ресурсов, чтобы новообращенный реализовал свои алгоритмические задумки тем способом, который ему доступен. А когда пишущий подойдет к исчерпанию ресурсов ардуины, он скорее всего уже будет сносно знать, чем инум отличается от дифайна и как разместить все свои переменные в двух килобайтах ОЗУ.
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Сообщение kalobyte »

a5021 писал(а):А когда пишущий подойдет к исчерпанию ресурсов ардуины, он скорее всего уже будет сносно знать, чем инум отличается от дифайна и как разместить все свои переменные в двух килобайтах ОЗУ.
это еще бабка надвое сказала
я вот раньше на быдлодуину смотрел как на гавно, недавно купил сам и опробовал
когда в тебе есть запас знаний, то не грех воспользоваться и быстро сгавнякать что-то, пусть и криво
не заработает, то будет уже ковырять или поищем чего еще

а когда ты вчера сцайты быдлокодил, а тут внезапно решил что-то слепить, а оно не заработало или заработало, но ты даже не понял, что оно неправильно работает, то это плохой пример
а тут бородатые дядьки ведут ленивый срач нахаляву и надо внемать, разинув рот, ибо даже в таких срачах для новичка куча полезной инфы
причем он может и не сразу поймет, но в голове отложится и потом может вернуться и перечитать

у меня сто раз так было, что материал не мог усвоиться за раз, т.к. кпд унылого текста без картинок 3% где-то
стоило мне только пару минут поковырять интерактивный конфигуратор источников тактирования для стм32, как внезапно до меня все доперло и я еще раз перечитал статьи про стм32 и уже смотрел на код не как баран на ворота
Vga писал(а):Дефайн не константа, дефайн макрос.
ну да, макрос более правильней будет
константа несколько другое, но я всегда это понимал как постоянный кусок кода или число, которое будет заменено при компиляции
Vga писал(а):включая отсутствие контроля со стороны компилятора и отсутствие средств ограничения видимости.
никогда не думал, что ему нужен контроль компилятора
дефайн это дефайн чисто для удобства и образности, чтобы числа в голове не держать, т.к. мозги человека работают на образах
именно для этого запилили систему доменных имен
непонятно только, почему не вводят подобное для телефонных номеров? :dont_know:

так что я никогда дефайны не использовал кроме как для замены чисел или коротких макросов
я четко осознавал, что вместо макроса будет вставлен кусок кода хотя бы те же setbit, clearbit
это ведь куда понятней, чем конструкция из ~!@#$^&*
Vga писал(а): и падающей обычно еще при запуске, если повезет - через пару минут.
у меня не падала
ее минус был только в отсутствии логов чата и передачи файлов
так годная прога была, мне больше от чата ничего не надо было, моя миранда была без всяких плюшек и обновлялась только когда обновлялся протокол и плагин требовал новую версию миранды

так что и от дефайна не стоит требовать чего-то особого
тематические ответы только в форуме, в приват не пишите
Реклама
Vga
Встал на лапы
Аватара пользователя
Сообщения: 132
Зарегистрирован: Сб сен 12, 2009 18:38:12

Сообщение Vga »

kalobyte писал(а):дефайн это дефайн чисто для удобства и образности, чтобы числа в голове не держать, т.к. мозги человека работают на образах
Не, это ты говоришь про константу. А макрос - штука несколько более сложная. Препроцессором в С затыкается несколько дырок, в том числе и отсутствующие константы. Но если константу в том же С++ можно запихнуть в ограниченную область видимости и, например, иметь в разных библиотеках одноименные константы, то макросы всегда висят в глобальном пространстве имен. К тому же, к ним не применяется контроль типов и все такое.
Ну и еще - даже простыми макросами можно сильно ухудшить понятность программы. Не зря в С инлайны воткнули, хотя казалось бы - те же макросы.
kalobyte писал(а):у меня не падала
Ну, быть может она и у автора не очень часто падала, как бы он иначе ее писал? Но это не отменяет того, что чуть что - и оно падало. У меня - так еще при запуске. И нахрена при такой стабильности какая-то там производительность, тем более от клиента аськи? А подобная глючность - типичный попутчик проектов с нечитаемым/неподдерживаемым кодом.
Последний раз редактировалось Vga Пн фев 23, 2015 06:12:38, всего редактировалось 1 раз.
Реклама
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Сообщение a5021 »

kalobyte писал(а):это еще бабка надвое сказала
Наша бабка предельно конкретна. Забить 32к флеша кодом в 99% случаев ситуация для новичка невообразимая. Там исходников будет такая прорва, что либо он станет изучать подходы к программированию, либо наложит на себя руки.
я вот раньше на быдлодуину смотрел как на гавно, недавно купил сам и опробовал
когда в тебе есть запас знаний, то не грех воспользоваться и быстро сгавнякать что-то, пусть и криво
не заработает, то будет уже ковырять или поищем чего еще
Ну с прозрением вас. :) Я уже тут лаялся с бородатыми, что молотком гвозди забивать сподручнее, но ответ слышал всегда один: мы метаем микроскоп на тридцать метров и гарантированно попадаем по гвоздю два раза из каждых семи попыток.
стоило мне только пару минут поковырять интерактивный конфигуратор источников тактирования для стм32, как внезапно до меня все доперло и я еще раз перечитал статьи про стм32 и уже смотрел на код не как баран на ворота
Ща бородатые бить вас придут. Вы пытаетесь посягнуть на основу их мироздания. Только способность безошибочно назвать значение конкретного бита (из нескольких тысяч), будучи разбуженным в три часа ночи, делает человека человеком, по их мнению. Схватившись за средства генерации кода или автоматического конфигурирования, вы двинулись по эволюционной спирали в обратном направлении и с величайшей скоростью превращаетесь в обезьяну. Лучше бы у вас отсохли руки за неделю до этого ужасного события, а еще лучше, чтобы вы совсем никогда не родились. Я вам только что изложил полное содержание многодневной беседы с бородатыми по данному вопросу.
никогда не думал, что ему нужен контроль компилятора
Обрабатывая похожие события, поступающие от однотипного оборудования, каждый раз приходится в дифайнах описывать возможные состояния. Всяческие START, STOP, FAIL и т.п. начинают плодиться в устрашающих количествах. Приходится разносить их префиксами NF_START, NR_START, LQ_START и иже с ними. Если бы можно было ограничить видимость дифанов одним модулем, то в каждом таком модуле можно было писать просто START и тягать одинаковые куски кода из модуля в модуль без контекстной замены ключевых определений.
дефайн это дефайн чисто для удобства и образности, чтобы числа в голове не держать, т.к. мозги человека работают на образах
Не только. На дифайны можно вешать сложные конструкции, которые ни к чему тащить в основной код. Пусть препроцессор ими занимается, ему сподручнее.
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Сообщение Morroc »

a5021 писал(а): Наша бабка предельно конкретна. Забить 32к флеша кодом в 99% случаев ситуация для новичка невообразимая. Там исходников будет такая прорва, что либо он станет изучать подходы к программированию, либо наложит на себя руки.
А вот и нет :oops: читалка с sd -> vs1003 + ик приемник + дисплей и все это готовыми библиотеками - не лезет, хотя использовать это все довольно просто (не думаю, что ситуация частая, но вполне реальная). Другой пример нехватки ресурсов - цветной дисплей, avr 16 МГц слишком мало для динамического отображения чего либо - максимум циферки/текст/стрелочку можно нарисовать, а если еще и считать что то надо... Правда ардуина на stm32 уже придумана и работает реально раз в 5 быстрее, но она уже не "юзер френдли" - много скетчей от avr версии просто так не стартанет (потому что авторы, упершись во что нибудь, переходят к несовместимому с "wiring" коду, в том числе и в библиотеках, вычистить несложно, но это не для новичка совсем).
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Сообщение a5021 »

Morroc писал(а):А вот и нет :oops: читалка с sd -> vs1003 + ик приемник + дисплей и все это готовыми библиотеками - не лезет, хотя использовать это все довольно просто (не думаю, что ситуация частая, но вполне реальная).
Новичок возьмется за это, только когда оно существует в виде готового проекта, с пошаговой инструкцией, куда что подключать и какие кнопари тыкать. Попытки оседлать эту тему с нуля, приведут к тому, что новоявленный эмбедер будет бороться только с ошибками компилятора от полугода и дольше, с высокими рисками получения тяжелой психологической травмы и приобретения разнообразных когнитивных расстройств.

stm32 уже придумана и работает реально раз в 5 быстрее, но она уже не "юзер френдли"
После того, как получится хорошенько набить руку на ардуине, обычно следует миграция в сторону какого-нибудь кодвижена или студии. Там уже, хочешь не хочешь, а придется учиться программированию и вникать в тонкости железа. Если и этот этап оказывается пройден, то уже совершенно пофиг за что браться, стм ли 32 или еще какой ренесас аутомотив.
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 165
Зарегистрирован: Чт фев 19, 2015 17:26:19
Откуда: СССР

Сообщение FantasyDD »

Коты дайте совет новичку в этом деле, хочу приобрести ST-LINK/V2 есть два варианта китайский и оригинал, внешне не отличаются.
Средствами я ограничен (не богат) китайский дешевле, есть ли разница в функционале?
Не хотелось бы покупать 2 раза.
Изображение
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Сообщение a5021 »

Не могу поручиться за все китайские клоны и за всех производителей, но тот клон, что я покуал на али, с функциональной стороны выглядит точной копией (хотя конструктивно оформлен иначе), вплоть до возможности обновления прошивки через интернет штатным софтом от ST.
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 165
Зарегистрирован: Чт фев 19, 2015 17:26:19
Откуда: СССР

Сообщение FantasyDD »

Поддержка целевого напряжения от 1,65 В до 5,5 В в нем есть (реально)? если не трудно глянуть.
Или просто фото платы.
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Сообщение kalobyte »

Vga писал(а):Но если константу в том же С++ можно запихнуть в ограниченную область видимости и, например, иметь в разных библиотеках одноименные константы, то макросы всегда висят в глобальном пространстве имен.
я хорошо понимаю смысл макроса, просто никогда не думал, что макрос можно одинаково называть в разных кусках кода
это уже наверное очень большой проект для команды, а я просто быдлокодер just 4 fun
Vga писал(а):И нахрена при такой стабильности какая-то там производительность, тем более от клиента аськи?
just 4 fun же
я просто посмотрел ее и все равно юзал миранду
a5021 писал(а):Забить 32к флеша кодом в 99% случаев ситуация для новичка невообразимая.
да запросто забивается
почти 16к у меня уходит только на управление лентой вс2811 + дмх512 протокол управления светом на 150 каналов и по скорости вроде как уже не тянет 16мгц, т.к. скорость дмх512 250кбит и то с извратами там, поэтому на ленте проскакивают левые вспышки
вот другую библиотеку хочу попробовать, но пока лень и я играюсь с трансиверами от нордики
трансиверы довольно сложные, поэтому решил взять готовые библиотеки для этой платформы и сделать 2 штуки, а потом взять библиотеку обычную и с ней разобраться, чтобы 3й трансивер тоже работал и уже тогда буду использовать обычную библиотеку

но вот даже с проверенными библиотеками эти модули не работают - в консоли нет правильного результата и пойди пойми, может это глюк с питанием самого модуля и ему надо конденсаторы напаять или запитать отдельно через стабилизатор? потому что уже натыкался на такое и надо будет уже железно ковыряться с ними
а так бы думал, что это я в коде где-то чего не так написал :)))
поэтому тут и хороша эта платформа, что можно быстро слепить прототип и прогнать неизвестное железо
a5021 писал(а):Я вам только что изложил полное содержание многодневной беседы с бородатыми по данному вопросу.
ну моя борода слишком мала по сравнению с ихними, так что я и не пытался меряться длиной
всегда найдется дядька, у которого борода не только длиньше, но и гуще
главное чтобы вшей в ней не было
a5021 писал(а): На дифайны можно вешать сложные конструкции, которые ни к чему тащить в основной код.
ну да, я так и делаю например для клока - куча кода скрыта и глаз не мозолит, зато смысл сохранен
a5021 писал(а):После того, как получится хорошенько набить руку на ардуине, обычно следует миграция в сторону какого-нибудь кодвижена или студии.
у меня наоборот было, руку набил на низком уровне, теперь быстро для тестов накидал скетч, если все работает, то можно перенести на мегу8 или тини2313 вместо меги328 уже в обычной иде и использовать другие библиотеки
просто у меня старые авр еще валяются, поэтому использую обычную иде и гцц

надо просто прокачаться до уровня понимания, что определенные вещи имеют определенную цель и это инструмент, а универсального инструмента нет
вон там в соседнем форуме прога для визуального кодирования при помощи логических элементов
казалось бы бред, но я понял ее назначение и можно будет тоже использовать при необходимости
тематические ответы только в форуме, в приват не пишите
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Сообщение a5021 »

FantasyDD писал(а):Поддержка целевого напряжения от 1,65 В до 5,5 В в нем есть (реально)? если не трудно глянуть.
Теоретически она есть, но конкретно на моем адаптере это работает из рук вон плохо. Более-менее нормально можно пользоваться, если камень работает с питанием близ трех вольт.
kalobyte писал(а):да запросто забивается почти 16к у меня уходит только на управление лентой вс2811 + дмх512 протокол управления светом
Ну никто же вроде не утверждает, что 32к не забить никогда и никому. При хорошем размахе может и 256к оказаться мало. Только для подобных вещей все же требуется какая-никакая квалификация и опыт. Повторюсь, что новичок стопятьсот раз разобьется о более мелкие проблемы, прежде чем столкнется с проблемой оптимизации.
ну моя борода слишком мала по сравнению с ихними, так что я и не пытался меряться длиной
всегда найдется дядька, у которого борода не только длиньше, но и гуще
главное чтобы вшей в ней не было
Со вшами-то, как раз и непонятки. Я где-то уже высказывался на здешнем форуме, что мне глубоко и трагически не понятно отчаянное и где-то даже полу-мистическое неприятие ардуины эмбедерами ранних формаций. Банальный и достаточно удобный инструмент для некоторых приложений воспринимается так, словно его использование грозит многочисленными бедами и напастями непреодолимой силы. Добавляет скепсиса и обоснование своей позиции на уровне "это для лохов скрипки, а для конкретных пацанов он делал барабаны".
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Сообщение Morroc »

a5021 писал(а):Банальный и достаточно удобный инструмент для некоторых приложений воспринимается так, словно его использование грозит многочисленными бедами и напастями непреодолимой силы.
напомнило

«Когда я был в первом классе, ко мне подошел старшеклассник и предложил писать с ним программу на Бейсике. Я стал отказоваться, но он меня заставил. С тех пор я пишу программы только на Бейсике. Иногда, когда родители уходят, мы собираемся группой по 6-8 ребят и пишем программы на Бейсике вместе. Год назад я познакомился с девушкой, и она предложила мне писать программы на Паскале. У меня ничего не вышло, да и потом долго болела голова. Зовут меня Валерий Павлович, в сентябре мне исполнится 47 лет. Моя жизнь сломана...»

:))
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 165
Зарегистрирован: Чт фев 19, 2015 17:26:19
Откуда: СССР

Сообщение FantasyDD »

kalobyte писал(а):Теоретически она есть, но конкретно на моем адаптере это работает из рук вон плохо. Более-менее нормально можно пользоваться, если камень работает с питанием близ трех вольт.
Благодарю за информацию.
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Сообщение kalobyte »

a5021 писал(а):и трагически не понятно отчаянное и где-то даже полу-мистическое неприятие ардуины эмбедерами ранних формаций.
я был таким
это просто чсв :oops:
сейчас я прокачался еще и вот понимаю, что все что ни делается - имеет свои цели, просто в рамки твоего мировосприятия это не входит
прокачка дает тебе +5 к пониманию таких вещей

это как в виндовсе проводник кто-то в меню ищет, а кто-то вызывает кнопками, кто-то выводит на рабочий стол
а мне как-то пришлось делать образ универсальный для одной конторы, чтобы при открытии проводника он открывался на диске д с нужной папкой документов
так пришлось этот вопрос изучить поглубже и оказывается можно еще свой ярлык запилить с опциями или в реестре подправить строку

вроде проводник один, а сколько способов запуска есть и все зачем-то придумали
тематические ответы только в форуме, в приват не пишите
Ответить

Вернуться в «Периферия»