Комментарии 23
Касательно непосредственно кода:
Приведенный выше код не так уж и удобно читать. В некоторых случаях есть переносы строк и отступы, в некоторых нет. Тоже самое по поводу открывающихся фигурных скобок. По поводу кода на GitHub я предложу исправления, но в статье рекомендую пользоваться чем нибудь общепринятым (Как вариант).
А за статью — спасибо!
Приведенный выше код не так уж и удобно читать. В некоторых случаях есть переносы строк и отступы, в некоторых нет. Тоже самое по поводу открывающихся фигурных скобок. По поводу кода на GitHub я предложу исправления, но в статье рекомендую пользоваться чем нибудь общепринятым (Как вариант).
А за статью — спасибо!
Что это делает на Хабре? Ладно ещё на гиктаймс. Но этоже, пардон «СОМ порт под С#». При этом плохо написанный с непонятно зачем приплетённой ардуиной. Запрос «COM порт под С#» вбивается в гугл и получается десяток куда долее адекватных статей.
А мне непонятно, что такие комментарии делают на хабре? Неужели сложно быть добрее к чужому труду? Если статья не соответствует лично вашему уровню — ну пройдите мимо или минус влепите, коли хочется…
Я вот, например, только начаю unity изучать и хочу в ней использовать связь с ардуино (опыта ни в c# ни в arduino нет вообще). Так для меня эта статья просто архиполезна! Статей на русском именно для начинающих в этой связке технологий почти нет. Или мне и таким как я тоже не место на Хабре?
А потом удивляются почему в России не развита взаимоподдержка среди айтишников…
Автор, спасибо большое за публикацию!
Я вот, например, только начаю unity изучать и хочу в ней использовать связь с ардуино (опыта ни в c# ни в arduino нет вообще). Так для меня эта статья просто архиполезна! Статей на русском именно для начинающих в этой связке технологий почти нет. Или мне и таким как я тоже не место на Хабре?
А потом удивляются почему в России не развита взаимоподдержка среди айтишников…
Автор, спасибо большое за публикацию!
Ок. Следующую статью пишем о том как установить C#? Или о том, как считать данные с хард-диска?
Я, безусловно, понимаю, что десять строчек кода растянутые в 50 и поданные с большим числом async'ов это очень ценная на Хабре статья. Уж точно ценнее, чем статья с Хабра, где на arduino делалась нормальная программа с взаимодействием с C#. Только вот админы, какие-то непонятливые, блог про ардуино разместили на Гиктаймсе. Но автор молодец, нашел как их обхитрить и тиснуть статью на Хабр!
Так лучше?
Я, безусловно, понимаю, что десять строчек кода растянутые в 50 и поданные с большим числом async'ов это очень ценная на Хабре статья. Уж точно ценнее, чем статья с Хабра, где на arduino делалась нормальная программа с взаимодействием с C#. Только вот админы, какие-то непонятливые, блог про ардуино разместили на Гиктаймсе. Но автор молодец, нашел как их обхитрить и тиснуть статью на Хабр!
А потом удивляются почему в России не развита взаимоподдержка среди айтишников…
Так лучше?
Но автор молодец, нашел как их обхитрить и тиснуть статью на Хабр!
Автор никого не пытался обхитрить. На geektimes нет раздела где были бы статьи про разработку универсальных приложений Windows. Половина статьи про C# и приложение UWP. Вторая половина про .Net приложение.
Следующую статью пишем о том как установить C#?
Я не знаю как установить C#…
Ок, я просто сошлюсь на эту статью geektimes.ru/post/178747 (ее рейтинг намекает, что не только я разделяю мнение автора).
По-моему, вы не понимаете о чём я. Когда я могу помочь автору, даже если вижу, что он некомпетентен в вопросе, про который пишет, а то, что он сделал в статье, не стоит и выеденного яйца, я это делаю — habrahabr.ru/post/263291
Главное, чтобы автор писал статью на Хабр в которой он попробовал сделать что-то нетривиальное.
То, что написано в данной статье — куда хуже. Это просто взят мануал и… Опошлен кучей лишнего кода. Пройдите по ссылке которую я приложил выше. 10 строчек кода + один абзац объяснений. Неужели это менее информативно, чем данная статья?
Что делает Хабр хабром? Явно не публикации о том, как настроить домашний вайфай (я не сомневаюсь, что и из этого можно сделать конфетку, но это надо попотеть). Прочитайте. Может эта статья и следует букве правил. Но она полностью противоречит духу.
Хотели видеть на хабре статьи «Как подсчитать в Excel сумму столбца» или «как настроить Windows Firewall»?
Главное, чтобы автор писал статью на Хабр в которой он попробовал сделать что-то нетривиальное.
То, что написано в данной статье — куда хуже. Это просто взят мануал и… Опошлен кучей лишнего кода. Пройдите по ссылке которую я приложил выше. 10 строчек кода + один абзац объяснений. Неужели это менее информативно, чем данная статья?
Что делает Хабр хабром? Явно не публикации о том, как настроить домашний вайфай (я не сомневаюсь, что и из этого можно сделать конфетку, но это надо попотеть). Прочитайте. Может эта статья и следует букве правил. Но она полностью противоречит духу.
Хотели видеть на хабре статьи «Как подсчитать в Excel сумму столбца» или «как настроить Windows Firewall»?
Боюсь вы так же не можете понять меня. Суть этой статьи не в том чтобы быть самым кратким/точным/полным/etc ответом на какой-то вопрос. Ее суть в том чтобы взять «за руку» человека без понимания этого направления и дать ему какие-то ориентиры, дать возможность задуматься о чем-то вообще для него новом.
Не только информативностью меряется достоинство статьи.
Просто с высоты вашего понимания — вам не видны мелочи, которые оказываются полезны для других людей.
Например, я не программист, читая статью вдруг понял, что такое «пространства имен». Вам кажется, что настолько элементарные вещи нельзя не знать если есть хоть какой-то опыт? Месяц назад я написал игру обучающую веппскому языку, которая уже установлена в залах нескольких музеев республики. Обойдясь при этом без знания этого термина. Конечно я использовал пространства имен, но не знал, что они так называются.
К чему я веду? Я узнал такой термин. Другой человек узнал что ардуино работает через usb порт, но представляет его com-портом (пол года назад это тоже стало бы для меня открытием). Третий решил проблему с определением номера порта к которому подключена ардуина. И так далее.
Как этим людям поможет статья в 10 строк кода на которую вы указали? Никак. Скорее всего они просто закроют вкладку потому что не обладают базовым пониманием достаточным чтобы понять о чем там вообще идет речь.
Но ведь цель Хабра не только в том чтобы дать быстрый и точный ответ профессионалу. Она и в том чтобы привлечь в IT новых людей, дать им ориентиры в новом для них мире. И чем это противоречит правилам Хабра?
Не только информативностью меряется достоинство статьи.
Просто с высоты вашего понимания — вам не видны мелочи, которые оказываются полезны для других людей.
Например, я не программист, читая статью вдруг понял, что такое «пространства имен». Вам кажется, что настолько элементарные вещи нельзя не знать если есть хоть какой-то опыт? Месяц назад я написал игру обучающую веппскому языку, которая уже установлена в залах нескольких музеев республики. Обойдясь при этом без знания этого термина. Конечно я использовал пространства имен, но не знал, что они так называются.
К чему я веду? Я узнал такой термин. Другой человек узнал что ардуино работает через usb порт, но представляет его com-портом (пол года назад это тоже стало бы для меня открытием). Третий решил проблему с определением номера порта к которому подключена ардуина. И так далее.
Как этим людям поможет статья в 10 строк кода на которую вы указали? Никак. Скорее всего они просто закроют вкладку потому что не обладают базовым пониманием достаточным чтобы понять о чем там вообще идет речь.
Но ведь цель Хабра не только в том чтобы дать быстрый и точный ответ профессионалу. Она и в том чтобы привлечь в IT новых людей, дать им ориентиры в новом для них мире. И чем это противоречит правилам Хабра?
Вы второй раз уходите от вопроса
Где граница чуши которую можно запостить на хабр?
Может у меня нет базового понимания того, как работает WinAmp. И я ещё со школы жду ангела просвещения который снизойдёт на Хабр и расскажет мне смысл кнопочек в нём. Вы бы хотели видеть статьи такого уровня на Хабре?
Хотели видеть на хабре статьи «Как подсчитать в Excel сумму столбца» или «как настроить Windows Firewall»?
Где граница чуши которую можно запостить на хабр?
Может у меня нет базового понимания того, как работает WinAmp. И я ещё со школы жду ангела просвещения который снизойдёт на Хабр и расскажет мне смысл кнопочек в нём. Вы бы хотели видеть статьи такого уровня на Хабре?
Ок. Отвечу.
Если статья «как настроить Windows Firewall» будет содержать, разбор его внутреннего устройства или, например, информацию о настройках позволяющих оптимизировать работу пиринговых сетей в различных конфигурациях — то я за такую статью. Если же это будет копия главы из мануала — то против.
Если для этой статьи вы дадите ссылку на русский мануал, где подробно рассмотрено взаимодействие Arduino и программы на C# (вы упоминали, что такой есть) — я с радостью сниму свои возражения. Но если вы скажите, что есть мануал по работе с COM-портами на c#, а это «то же самое» — то я с вами не соглашусь, потому что оно «то же самое» — для вас и других людей с опытом. А для начинающих это вовсе не очевидно, и пусть в чем-то статья будет вторична, сам посыл базового понимания оправдывает ее присутствие на Хабре.
Если статья «как настроить Windows Firewall» будет содержать, разбор его внутреннего устройства или, например, информацию о настройках позволяющих оптимизировать работу пиринговых сетей в различных конфигурациях — то я за такую статью. Если же это будет копия главы из мануала — то против.
Если для этой статьи вы дадите ссылку на русский мануал, где подробно рассмотрено взаимодействие Arduino и программы на C# (вы упоминали, что такой есть) — я с радостью сниму свои возражения. Но если вы скажите, что есть мануал по работе с COM-портами на c#, а это «то же самое» — то я с вами не соглашусь, потому что оно «то же самое» — для вас и других людей с опытом. А для начинающих это вовсе не очевидно, и пусть в чем-то статья будет вторична, сам посыл базового понимания оправдывает ее присутствие на Хабре.
На Хабре пример: 1это явно не «мануал о Arduino и C#». Хоть там есть то и другое, но цели, задачи, ЦА — все другое.
яндекс1 — для начинающего это просто кусок кода. Никаких объяснений/понимания и т.п. от него не будет.
2 — пример с C# ни полнотой ни понятностью не отличается. У начинающего скорее всего вообще не запустится, потому как ардуино повиснет не на COM1
3 — на англ. И не для начинающих.
4 — обсуждение неработающего кода. Автор той темы — судя по всему был бы рад этой статье.
И я так и не вижу мануала из фразы «взят мануал и… Опошлен кучей лишнего кода»? Или тот мануал был на англ. а вы принципиально против переводов?
Неужели это плохо, взять (пусть даже известную) тему, но сделать перевод, расписать ее для новичков, снабдить подробными комментариями, разобрать частные случаи… Это вы называете «опошлить»?
>Например, я не программист, читая статью вдруг понял, что такое «пространства имен»
Предположу, что хабр всё таки профильный ресурс, и наличие БАЗОВОГО ПОНИМАНИЯ подразумевается само собой.
Предположу, что хабр всё таки профильный ресурс, и наличие БАЗОВОГО ПОНИМАНИЯ подразумевается само собой.
Кроме того, само собой подразумевается умение установить C#.
Нужно при регистрации на хабре тестирование сделать. И задавать вопросы вроде «Как установить C#?». Ответишь на 9 из 10 вопросов — можешь читать хаб. А если не ответишь — go away. Нельзя таким читать. Можно читать только тем кто все уже знает.
Можешь привести хоть одну ссылку, где в рунете есть статья именно на такую же тему (в данном случае UWP/виртуальный COM) или где конкретно ошибка — можешь поругать в комментариях.
Нужно при регистрации на хабре тестирование сделать. И задавать вопросы вроде «Как установить C#?». Ответишь на 9 из 10 вопросов — можешь читать хаб. А если не ответишь — go away. Нельзя таким читать. Можно читать только тем кто все уже знает.
Можешь привести хоть одну ссылку, где в рунете есть статья именно на такую же тему (в данном случае UWP/виртуальный COM) или где конкретно ошибка — можешь поругать в комментариях.
Тогда и я буду паясничать — а лучше тогда вообще не писать статьи, требующие некоторого предварительного знания материала, потому что не каждый обладает достаточными БАЗОВЫМИ ЗНАНИЯМИ и навыками гугления, чтобы такой материал воспринять. Равноправие и толерантность. А ещё запретить читать, а тем более писать, если не принадлежишь к обижаемым меньшинствам.
Статей на русском именно для начинающих в этой связке технологий почти нет
Да какая связка технологий то. Это обычный com порт, как с ним работать, гуглится за пару минут для любого популярного языка программирования.
Гугл отменили? Одних видео самого разного качества несколько тысяч. Даже ассет для этого есть.
Более того, конкретно в этой статье есть что называется bad practices. Например,
Ну а если ардуино не на COM3?
Более того, конкретно в этой статье есть что называется bad practices. Например,
string filt = SerialDevice.GetDeviceSelector("COM3");
Ну а если ардуино не на COM3?
Ну а если ардуино не на COM3?В статье рассмотрен вариант определения порта на котором висит ардуино.
И если конкретно о моей ситуации, то у меня плохо с английским. А на русском результатов для начинающих по этой теме куда меньше. Даже на тостере были подобные вопросы, так что развернутый ответ вполне востребован.
На счет «bad practices» — для тех кто уже имеет базовые знания это безусловно важно, но при попытках разобраться в совершенно новой области — всегда есть некий оптимальный уровень углубления в тему, при превышении которого те самые базовые принципы начинают ускользать и вместо «правильного понимания» — остается только ощущение избыточной сложности и неразберихи.
К примеру, если бы вы решили разобраться в новой для себя области, скажем в генетике, то вряд-ли вам бы пошло на пользу сразу углубиться во все возможные детали. А вот провести интересный вам лично, несложный эксперимент, с наглядным практическим результатом и основанный на простых, понятных принципах служащих основой и в дальнейшем — было бы куда полезнее. И пусть даже в описании не на 100% раскрывались происходящие процессы — это вы могли бы постигнуть позже, уже понимая принципы в общих чертах.
И понимать такой эксперимент было бы куда проще прочитав развернутое описание на родном языке, а не отрывочные ответы или куски чужого кода. Позже, уже разобравшись в основах — легко найти в интернете ответы на частные вопросы, но вот описания базы — часто не хватает.
Да и основной посыл моего комментария был не в этом. Я уже ссылался на статью geektimes.ru/post/178747, и лучше чем ее автор вряд-ли смогу сказать.
Немного не понятно. Если я хочу послать серию байт и в этом же методе (потоке) получить ответ, то как будет выглядеть код? К примеру, я хочу реализовать одну из modbus-rtu функций для мастера.
Без этих пауз заставить Arduino среагировать не получилось.
Открытие порта вызывает кратковременную установку высокого уровня DTR, который заведен на резет Ардуины. Отсюда затык в работе на время старта загрузчика.
Выбросьте стандартный говно-SerialPort из FCL. Напишите свой через WinAPI. Там только одной структурой манипулировать надо — DCB и пару функций протащить. Работать будет многократно быстрее и все слипы нелепые можно будет убрать.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Работа с Arduino из C# приложения