да практически все мало-мальски сложные - минимум для отладки, а вообще и для управления. даже GUI в последующем можно подогнать под текстовый протокол управления. например вот в последнем "плейере" сделал режим консольного исполнения команд - уже для отладки самих скриптовПростоНуб писал(а):Расскажите хоть, какие же Ваши проекты требуют коммуникации с ПК?
Вопросы по С/С++ (СИ)
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Вопросы по С/С++ (СИ)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Реклама
- Starichok51
- Модератор
- Сообщения: 19048
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Вопросы по С/С++ (СИ)
полная чушь.ПростоНуб писал(а):К тому же, проекты на МК требующие коммуникации с ПК, скорее, редкость, чем правило.
у меня на форуме есть два проекта на МК, и в обоих связь с ПК правило, а не исключение.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: Вопросы по С/С++ (СИ)
У меня тоже подавляющее количество контроллеров кем-то управляются или управляют. И даже если в штатном режиме это чаще всего не ПК, то технологическое ПО для регулировки и проведения ПСИ это GUI на ПК. Есть, конечно, и совершенно автономные проекты, типа фонарика, например, но это скорее баловство.
- Starichok51
- Модератор
- Сообщения: 19048
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Вопросы по С/С++ (СИ)
ну, и у меня есть термометр на DS18B20, там ПК совершенно не нужен.
хотя, ПростоНуб может и лучше меня знать. с его большой статистикой по проектам ему виднее. может, в его случае ПК - исключение.
это я простой любитель и делаю только для себя, и это, может, только у меня без ПК - исключение ...
хотя, ПростоНуб может и лучше меня знать. с его большой статистикой по проектам ему виднее. может, в его случае ПК - исключение.
это я простой любитель и делаю только для себя, и это, может, только у меня без ПК - исключение ...
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
- ПростоНуб
- Собутыльник Кота
- Сообщения: 2723
- Зарегистрирован: Пт сен 07, 2018 20:20:02
- Откуда: деревня в Тульской губернии
Re: Вопросы по С/С++ (СИ)
[uquote="ARV",url="/forum/viewtopic.php?p=3708631#p3708631"]минимум для отладки[/uquote]
Отладка все же выполняется уже в среде компилятора. Понятно, что на любом МК есть JTAG или что-то подобное. Но возводить его в уровень средства коммуникации с МК я бы не стал.
Добавлено after 6 minutes 14 seconds:
[uquote="Starichok51",url="/forum/viewtopic.php?p=3708639#p3708639"]у меня на форуме есть два проекта на МК, и в обоих связь с ПК правило, а не исключение.[/uquote]
То есть у Вас за всю жизнь есть только два проекта на МК? Или все же больше, но только для двух из них связь с ПК требуется?
При этом связь с головным устройством, естественно может быть. Вот только, как я уже указывал выше, такое головное устройство будет Малинкой/Апельсинкой и т.п. совершенно не требующей коммуникации в алфавитно-цифровом виде. Наоборот, там будет удобней с бинарным форматом.
И не потребуется на МК преобразовывать числа в текст, отсылаемый по UART. С чего спич, вообще-то и начался )))
Отладка все же выполняется уже в среде компилятора. Понятно, что на любом МК есть JTAG или что-то подобное. Но возводить его в уровень средства коммуникации с МК я бы не стал.
Можно, но под бинарный проще с точки зрения размера кода на МК. С чего мы и начали вообще-то.ARV писал(а):GUI в последующем можно подогнать под текстовый протокол управления
Добавлено after 6 minutes 14 seconds:
[uquote="Starichok51",url="/forum/viewtopic.php?p=3708639#p3708639"]у меня на форуме есть два проекта на МК, и в обоих связь с ПК правило, а не исключение.[/uquote]
То есть у Вас за всю жизнь есть только два проекта на МК? Или все же больше, но только для двух из них связь с ПК требуется?
При этом связь с головным устройством, естественно может быть. Вот только, как я уже указывал выше, такое головное устройство будет Малинкой/Апельсинкой и т.п. совершенно не требующей коммуникации в алфавитно-цифровом виде. Наоборот, там будет удобней с бинарным форматом.
И не потребуется на МК преобразовывать числа в текст, отсылаемый по UART. С чего спич, вообще-то и начался )))
- Реклама
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: Вопросы по С/С++ (СИ)
Нуб, хотел ссылок? Получай! Вот хронометр для велосоревнований. Без связи с ПК он — бессмысленная игрушка, т.к. каким-то образом же надо логгировать времена старта и финиша спортсменов?
Под F0 у меня побольше наработок. Скажем, СУ чиллером в принципе может работать автономно, но для надежности обратная связь нужна: мало ли, что из строя выйдет.. А в ПЗСке надо обязательно выключить охлаждение, если возникнут проблемы с подачей хладагента. Остальное тоже требует взаимодействия с компьютером - для той же телеметрии.
Скажем, система термомониторинга зеркала устроена так: контроллеры опрашивают температуру (до 16 термодатчиков TSYS01 на контроллер), между собой они связаны CAN-шиной. "Мастер" (с номером 0) связан с "малинкой", которая посредством простого демона собирает статистику и отдает клиенту по условленному порту (можно просто в браузере запрос послать и увидеть данные) + этот же демон раз минут в 15 строит при помощи гнуплота красивые графики и выкладывает их в директорию, откуда nginx может отобразить клиенту через веб.
Вот эта штука вообще содержит все, необходимое для воспроизведения нашего фотометра MMPP (включая чертежи, правда, железки потом надо еще "обработать напильником"). Микроконтроллеры связаны с компьютером, при помощи CLI-утилиты я двигаю турели и шаговики, меняя режимы работы прибора. На основе специально разработанной библиотеки любой желающий может хоть GUI написать, но мне GUI нафиг не нужно, т.к. баш-скриптами автоматизация удобней делается.
Вот - библиотека для манипуляции с FITS-файлами (я ее забросил пока, но, возможно, через 4-7 лет возобновлю работу). Сделана на основе CLI-утилиты fits_filter.
Здесь у меня куча всякой фигни под STM8. Вот там - да, можно найти пару-тройку "проектов", где связь с компьютером не нужна (вольтметры, сверлильный станок...).
Вот здесь — в CLI'шной утилите для работы с ПЗС от Apogee, у меня используется отдельный модуль просмотра изображений на GLUT (нужно было для юстировки приборов добавить такую опцию - вот и добавил).
Вот эта штука собирает изображения с all-sky камеры, размещает их в архиве и отдает клиенту либо в FITS-формате, либо (для отображения в браузере) в жопеге. Тоже никаких GUI здесь не нужно!
Вот - веб-морда для управления корректором спектрографа (видеозахватом занимается "малинка", на ней же висит демон, при помощи вебсокетов взаимодействующий с клиентом). Эта простая разработка предназначена для трансляции видео с камер подсмотра в сеть (раньше я напрямую v4l2 использовал, но надоело каждый раз переделывать код, как камера поменяется, поэтому написал с использованием ffmpeg).
Вот эта штука помогает управлять 6-метровым телескопом. Да-да, из командной строки! Тоже нет времени довести ее до ума (хотя бы deprecated'ную slalib заменить на современную libsofa).
Для упрощения работы с вебом я даже когда-то написал простую библиотечку, позволяющую обслуживать куки/запросы и работать с БД (sqlite - для аутентификации и авторизации). Сейчас, с переходом на вебсокеты, надо уже писать новую библиотечку. И аутентификацию несколько иначе делать...
Там у меня на гитхабе много еще всякой разной фигни. Прикола ради я когда-то даже простой файлменеджер на вебе замутил...
Единственным моим позорищем с GUI является вот эта штука, но она предназначена для просмотра изображений и интерактивной работы с ними. И я, будучи молодым и глупым, использовал GTK для отрисовки виджетов. Хотя есть значительно более приличные библиотеки (даже есть простые виджет-библиотеки на опенгле, позволяющие не хуже говнотыка рисовать свистоперделки, но зато не имеющие такого уродства "под капотом", как у GTK).
Ну как, нужны GUI для работы?
А по поводу бинарных форматов данных еще раз напомню: как думаешь, почему все разумные люди отказываются от бинарных форматов для работы с небольшими объемами данных, а сериализуют их? При написании той же системы управления БТА я столкнулся с тем, что фактически все необходимые данные лежат в бинарной структуре без выравнивания и прочих вещей, неделю убил, пока переделал заголовочные файлы и основной файл для работы с этими данными... Пришлось вручную везде указывать нужное выравнивание, жестко фиксировать типы данных... А было бы это в текстовом сериализованном виде, таких бы проблем не возникло!
Еще подобные бинарные интерфейсы вынуждают постоянно выполнять преобразования от одной "конечности" к другой! Если что, большинство современных компьютеров — остроконечные. Но так уж сложилось, что сетевой порядок байт — тупоконечный! Поэтому для общения бинарными данными нужно сначала преобразовать каждое число в тупоконечный формат, передать другой стороне, а та должна обратно преобразовать их в свой формат.
Добавлено after 8 minutes 6 seconds:
ПростоНуб, а вообще, сдается мне, что ты усиленно меня пытаешься затроллить. Потому что такой бред нести, какой ты периодически несешь, явно никто не будет!
Под F0 у меня побольше наработок. Скажем, СУ чиллером в принципе может работать автономно, но для надежности обратная связь нужна: мало ли, что из строя выйдет.. А в ПЗСке надо обязательно выключить охлаждение, если возникнут проблемы с подачей хладагента. Остальное тоже требует взаимодействия с компьютером - для той же телеметрии.
Скажем, система термомониторинга зеркала устроена так: контроллеры опрашивают температуру (до 16 термодатчиков TSYS01 на контроллер), между собой они связаны CAN-шиной. "Мастер" (с номером 0) связан с "малинкой", которая посредством простого демона собирает статистику и отдает клиенту по условленному порту (можно просто в браузере запрос послать и увидеть данные) + этот же демон раз минут в 15 строит при помощи гнуплота красивые графики и выкладывает их в директорию, откуда nginx может отобразить клиенту через веб.
Вот эта штука вообще содержит все, необходимое для воспроизведения нашего фотометра MMPP (включая чертежи, правда, железки потом надо еще "обработать напильником"). Микроконтроллеры связаны с компьютером, при помощи CLI-утилиты я двигаю турели и шаговики, меняя режимы работы прибора. На основе специально разработанной библиотеки любой желающий может хоть GUI написать, но мне GUI нафиг не нужно, т.к. баш-скриптами автоматизация удобней делается.
Вот - библиотека для манипуляции с FITS-файлами (я ее забросил пока, но, возможно, через 4-7 лет возобновлю работу). Сделана на основе CLI-утилиты fits_filter.
Здесь у меня куча всякой фигни под STM8. Вот там - да, можно найти пару-тройку "проектов", где связь с компьютером не нужна (вольтметры, сверлильный станок...).
Вот здесь — в CLI'шной утилите для работы с ПЗС от Apogee, у меня используется отдельный модуль просмотра изображений на GLUT (нужно было для юстировки приборов добавить такую опцию - вот и добавил).
Вот эта штука собирает изображения с all-sky камеры, размещает их в архиве и отдает клиенту либо в FITS-формате, либо (для отображения в браузере) в жопеге. Тоже никаких GUI здесь не нужно!
Вот - веб-морда для управления корректором спектрографа (видеозахватом занимается "малинка", на ней же висит демон, при помощи вебсокетов взаимодействующий с клиентом). Эта простая разработка предназначена для трансляции видео с камер подсмотра в сеть (раньше я напрямую v4l2 использовал, но надоело каждый раз переделывать код, как камера поменяется, поэтому написал с использованием ffmpeg).
Вот эта штука помогает управлять 6-метровым телескопом. Да-да, из командной строки! Тоже нет времени довести ее до ума (хотя бы deprecated'ную slalib заменить на современную libsofa).
Для упрощения работы с вебом я даже когда-то написал простую библиотечку, позволяющую обслуживать куки/запросы и работать с БД (sqlite - для аутентификации и авторизации). Сейчас, с переходом на вебсокеты, надо уже писать новую библиотечку. И аутентификацию несколько иначе делать...
Там у меня на гитхабе много еще всякой разной фигни. Прикола ради я когда-то даже простой файлменеджер на вебе замутил...
Единственным моим позорищем с GUI является вот эта штука, но она предназначена для просмотра изображений и интерактивной работы с ними. И я, будучи молодым и глупым, использовал GTK для отрисовки виджетов. Хотя есть значительно более приличные библиотеки (даже есть простые виджет-библиотеки на опенгле, позволяющие не хуже говнотыка рисовать свистоперделки, но зато не имеющие такого уродства "под капотом", как у GTK).
Ну как, нужны GUI для работы?
А по поводу бинарных форматов данных еще раз напомню: как думаешь, почему все разумные люди отказываются от бинарных форматов для работы с небольшими объемами данных, а сериализуют их? При написании той же системы управления БТА я столкнулся с тем, что фактически все необходимые данные лежат в бинарной структуре без выравнивания и прочих вещей, неделю убил, пока переделал заголовочные файлы и основной файл для работы с этими данными... Пришлось вручную везде указывать нужное выравнивание, жестко фиксировать типы данных... А было бы это в текстовом сериализованном виде, таких бы проблем не возникло!
Еще подобные бинарные интерфейсы вынуждают постоянно выполнять преобразования от одной "конечности" к другой! Если что, большинство современных компьютеров — остроконечные. Но так уж сложилось, что сетевой порядок байт — тупоконечный! Поэтому для общения бинарными данными нужно сначала преобразовать каждое число в тупоконечный формат, передать другой стороне, а та должна обратно преобразовать их в свой формат.
Добавлено after 8 minutes 6 seconds:
ПростоНуб, а вообще, сдается мне, что ты усиленно меня пытаешься затроллить. Потому что такой бред нести, какой ты периодически несешь, явно никто не будет!
Re: Вопросы по С/С++ (СИ)
[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3708687#p3708687"]Отладка все же выполняется уже в среде компилятора. Понятно, что на любом МК есть JTAG или что-то подобное.[/uquote]отладка разная бывает. Надо, скажем, получить серию значений и построить график рядом с теоретическим, чтобы посмотреть, чо это девайс там наделал - что, копипастить из IDE выхлоп сообщений?)
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3708706#p3708706"]А было бы это в текстовом сериализованном виде, таких бы проблем не возникло![/uquote]в любом строго оговоренном виде. Скажем, бинарный protobuf вполне позволяет не париться никакими "конечностями". Или, к примеру, modbus RTU - порядок бит стандартен.
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3708706#p3708706"]А было бы это в текстовом сериализованном виде, таких бы проблем не возникло![/uquote]в любом строго оговоренном виде. Скажем, бинарный protobuf вполне позволяет не париться никакими "конечностями". Или, к примеру, modbus RTU - порядок бит стандартен.
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: Вопросы по С/С++ (СИ)
Текстовые данные - взять тот же JSON - человекочитаемы! Чего не скажешь о бинарных... Понятно, что и текстовые форматы бывают нечитабельными (взять тот же XML), но это скорей исключение.
Ну и, опять же, насчет отладки: пока я отлаживаю алгоритмы работы железяки, мне никакого резона нет клепать утилиту, парсящую бинарный поток данных. Проще открыть терминал и ручками писать туда команды, читая получаемые ответы. Далее железяка устаканивается, пишется утилита для работы с нею, а протокол так и остается текстовым - удобно же!
Ну и, опять же, насчет отладки: пока я отлаживаю алгоритмы работы железяки, мне никакого резона нет клепать утилиту, парсящую бинарный поток данных. Проще открыть терминал и ручками писать туда команды, читая получаемые ответы. Далее железяка устаканивается, пишется утилита для работы с нею, а протокол так и остается текстовым - удобно же!
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: Вопросы по С/С++ (СИ)
Неудобно. При системном подходе сначала продумывается функционал устройства, затем пишется протокол, затем его реализация на обоих сторонах. Без всяких CLI и текстовых форматов. Первое не удобно пользователю, второе лишние ресурсы микроконтроллера. С современными средствами разработки накидать GUI дело десятка минут.
- ПростоНуб
- Собутыльник Кота
- Сообщения: 2723
- Зарегистрирован: Пт сен 07, 2018 20:20:02
- Откуда: деревня в Тульской губернии
Re: Вопросы по С/С++ (СИ)
Eddy_Em, Во-первых, я просил
Затем по этой ссылке я с удивлением обнаруживаю GUI с кнопками и слайдерами, вместо ожидаемого скриншота Lynx. Вы сделали то, что так ненавидете? Где там CLI? )))
А здесь вообще взрыв мозга. С одной стороны, в проекте вижу CGI, а с другой:
стал приходить поток из бинарных 20-ти байтных блоков на каждое ПУ. А так как его не только передавать, но и парсить на порядок быстрее, то отчет по Тульской области формировался уже через час после начала сбора показаний с концентраторов, а не на следующий день, как до этого.
Не забывайте, что большинство концентраторов сидят на EDGE и отдают данные очень неторопливо.
Ни в одном из примеров по ссылке я этого не увидел. Так где он?ПростоНуб писал(а):Но мне очень интересно увидеть Ваш код на МК, который через UART и терминал умеет реагировать на горячие клавиши, не исключая при этом CLI в этом терминале, для регулировки яркости, скорости или еще чего. Какой именно терминал Ваш МК эмулирует?
Вместо этого, Вы даете ссылку на тупой код, генерирующий страницу раз в 15 минут.ПростоНуб писал(а):Пример страницы где? И что за демон? Самописный веб-сервер? И как Вам удалось прикрутить JS к Lynx? Дайте ссылку на Lynx с JS. Или же Вы используете какой-то другой CLI браузер?
Затем по этой ссылке я с удивлением обнаруживаю GUI с кнопками и слайдерами, вместо ожидаемого скриншота Lynx. Вы сделали то, что так ненавидете? Где там CLI? )))
А здесь вообще взрыв мозга. С одной стороны, в проекте вижу CGI, а с другой:
Потому и троллю Вас, что в каждом последующем Вашем сообщении вижу противоречия как с предыдущим, так и с известными мне истинами.Eddy_Em писал(а):CGI неудобны. Тем более, зачем они, когда есть вебсокеты?
Потому что сериализация удобней развесистой структуры данных. При этом, в подавляющем большинстве случаев, сериализация делается бинарной. Мне эта текстовая сериализация уже поперек горла стоит, когда в числах дробная часть отделяется то точкой, то запятой, а в датах то DD-MM-YY, то MM-DD-YY, то YY-MM-DD, причем часовой пояс для каждого источника приходилось хранить в отдельной таблице БД. И это вместо прозрачного ISO YYYY-MM-DDThh:mm±hh. Год с Россетями бодались, пока они не смирились и не перешли к компактной бинарной сериализации. В результате, вместо такой портянки размером свыше 400 байт на каждый ПУ:Eddy_Em писал(а): все разумные люди отказываются от бинарных форматов для работы с небольшими объемами данных, а сериализуют их?
Код: Выделить всё
<RESULT>
<DEVICE>
<ID>11489094229568</ID>
</DEVICE>
<DATA>
<INTERVALS>
<INTERVAL>
<DATETIME>2016-10-19 21:00:00.000</DATETIME>
<CHANNEL>
<ID>1</ID>
<VALUE>458.53</VALUE>
</CHANNEL>
<CHANNEL>
<ID>2</ID>
<VALUE>232.31</VALUE>
</CHANNEL>
</INTERVAL>
</INTERVALS>
</DATA>
</RESULT>
Не забывайте, что большинство концентраторов сидят на EDGE и отдают данные очень неторопливо.
Re: Вопросы по С/С++ (СИ)
[uquote="VladislavS",url="/forum/viewtopic.php?p=3708730#p3708730"]При системном подходе сначала продумывается функционал устройства, затем пишется протокол, затем его реализация на обоих сторонах.[/uquote]это все очень бла-ародно, но мы тут вроде все взрослые люди и знаем, как оно на самом деле бывает)
[uquote="VladislavS",url="/forum/viewtopic.php?p=3708730#p3708730"]Без всяких CLI и текстовых форматов.[/uquote]ай зависит от. Если предполагается, что конечный продукт телодвижений - железка или софтина - будут работать в составе некоей системы, а не сами по себе, то консольный интерфейс и текстовый обмен обычно предпочтительнее, чем один только гуй. Юниксвей, чоч. Графическую морду можно прилепить сверху над cli, пусть его пинает.
[uquote="VladislavS",url="/forum/viewtopic.php?p=3708730#p3708730"]Без всяких CLI и текстовых форматов.[/uquote]ай зависит от. Если предполагается, что конечный продукт телодвижений - железка или софтина - будут работать в составе некоей системы, а не сами по себе, то консольный интерфейс и текстовый обмен обычно предпочтительнее, чем один только гуй. Юниксвей, чоч. Графическую морду можно прилепить сверху над cli, пусть его пинает.
- ПростоНуб
- Собутыльник Кота
- Сообщения: 2723
- Зарегистрирован: Пт сен 07, 2018 20:20:02
- Откуда: деревня в Тульской губернии
Re: Вопросы по С/С++ (СИ)
[uquote="arkhnchul",url="/forum/viewtopic.php?p=3708718#p3708718"]Надо, скажем, получить серию значений и построить график рядом с теоретическим, чтобы посмотреть, чо это девайс там наделал - что, копипастить из IDE выхлоп сообщений?[/uquote]
Нет, изучать GDB:
Нет, изучать GDB:
Код: Выделить всё
(gdb) watch var
(gdb) cond <watchpoint_number> var>=value
(gdb) set logging file <filename>
(gdb) set logging on
Re: Вопросы по С/С++ (СИ)
[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3708736#p3708736"]Мне эта текстовая сериализация уже поперек горла стоит, когда в числах дробная часть отделяется то точкой, то запятой, а в датах то DD-MM-YY, то MM-DD-YY, то YY-MM-DD, причем часовой пояс для каждого источника приходилось хранить в отдельной таблице БД.[/uquote]это исключительно вопрос единообразия формата, а не его самого как такового. Бинарных представлений даты/времени я тоже каких только не видел. Целочисленный таймстамп в секундах, он же в миллисекундах, упакованная структура с годом/месяцем/днем/часом/минутой/секундой, то же в двоично-десятичном формате, то же с днем года вместо месяца и дня месяца, то же с фактическим часовым поясом, то же в GMT и с целевым часовым поясом, double прямиком из паскаля...
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: Вопросы по С/С++ (СИ)
[uquote="arkhnchul",url="/forum/viewtopic.php?p=3708737#p3708737"]Если предполагается, что конечный продукт телодвижений - железка или софтина - будут работать в составе некоей системы, а не сами по себе, то консольный интерфейс и текстовый обмен обычно предпочтительнее, чем один только гуй.[/uquote]Гуй для пользователя. За ним может быть любой интерфейс. Но зачем железки будут между собой на птичьем языке разговаривать? Для них бинарный проще и естественней.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Вопросы по С/С++ (СИ)
далеко не на любом.ПростоНуб писал(а):Понятно, что на любом МК есть JTAG или что-то подобное.
с чего вы начинали, мне неведомо. я же лишь сказал, что для своих поделок использую (если нужно) текстовый формат управления через UART при помощи терминальной программы. это, в частности, избавляет от необходимости одновременно с девайсом разрабатывать и GUI для его управления, поскольку управлять можно уже с первых строк кода прямо в терминале.ПростоНуб писал(а):С чего мы и начали вообще-то
да он-то стандартен, да вот без специальных утилит в него не влезешь... а терминал доступен всем, и не требует обучения.arkhnchul писал(а):Или, к примеру, modbus RTU - порядок бит стандартен.
вот и я об этомEddy_Em писал(а):Ну и, опять же, насчет отладки: пока я отлаживаю алгоритмы работы железяки, мне никакого резона нет клепать утилиту, парсящую бинарный поток данных. Проще открыть терминал и ручками писать туда команды, читая получаемые ответы. Далее железяка устаканивается, пишется утилита для работы с нею, а протокол так и остается текстовым - удобно же!
профессионалы... страшно далеки они от народа...ПростоНуб писал(а):Не забывайте, что большинство концентраторов сидят на EDGE и отдают данные очень неторопливо.
да. только отлаживать его сложнее. а железке пофиг - она не устает, может и вместо 1 байта 33 символа перемолотить, и не вспотеетVladislavS писал(а):Для них бинарный проще и естественней
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- ПростоНуб
- Собутыльник Кота
- Сообщения: 2723
- Зарегистрирован: Пт сен 07, 2018 20:20:02
- Откуда: деревня в Тульской губернии
Re: Вопросы по С/С++ (СИ)
arkhnchul, я в курсе что такое сериализация. Проблема в том, форматы данных в XML и JSON плохо стандартизированы и каждый лепит туда числа и даты по своему разумению. Точнее даже по региональным настройкам локальной системы, какие могут совсем не совпадать с региональными настройками удаленной системы. С бинарными форматами таких проблем не возникает, если оговорен порядок байтов в числах. Ну и два порядка выигрыша скорости передачи по EDGE - тоже не мало. Плавающей запятой там и в помине не было. Сами ПУ по жизни оперируют целыми числами. Просто показания отображаются в киловатт*часах, хотя внутри они в единицах, десятках или сотнях ватт*часов. Поэтому в бинарном формате и передавали целое в ватт*часах
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: Вопросы по С/С++ (СИ)
[uquote="ARV",url="/forum/viewtopic.php?p=3708749#p3708749"]только отлаживать его сложнее[/uquote]Глупости. Посмотреть структуру с данными в отладчике как внутри МК, так и в ПК элементарно.
Re: Вопросы по С/С++ (СИ)
[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3708754#p3708754"]Проблема в том, форматы данных в XML и JSON плохо стандартизированы и каждый лепит туда числа и даты по своему разумению.[/uquote]бинарные форматы передачи тоже не то чтобы в целом стантартизированы. Только в пределах одного конкретного протокола.
- Starichok51
- Модератор
- Сообщения: 19048
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Вопросы по С/С++ (СИ)
больше двух. и почти все со связью с ПК.ПростоНуб писал(а):То есть у Вас за всю жизнь есть только два проекта на МК? Или все же больше, но только для двух из них связь с ПК требуется?
естественно, у меня в бинарном виде вся информация. еще чего не хватало, переводить в текстовый вид и обратно из текстового вида. переводить в текст, по-моему, неумная затея...ПростоНуб писал(а):Наоборот, там будет удобней с бинарным форматом.
И не потребуется на МК преобразовывать числа в текст, отсылаемый по UART.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
- ПростоНуб
- Собутыльник Кота
- Сообщения: 2723
- Зарегистрирован: Пт сен 07, 2018 20:20:02
- Откуда: деревня в Тульской губернии
Re: Вопросы по С/С++ (СИ)
[uquote="ARV",url="/forum/viewtopic.php?p=3708749#p3708749"]
Вы специально не уточнили, какой же МК Вы имеете в виду, чтобы я об этом спросил? Ну так вот, спрашиваю. Какой же МК Вы знаете без средств отладки?
Добавлено after 4 minutes 14 seconds:
Starichok51, видимо, у Вас такая специфика. У меня, в подавляющем большинстве случаев, если связь с ПК и требуется, то она реализуется через концентратор на ESP8266 или одноплатный ARM (малинка, апельсинка и т.п.).
далеко не на любом.[/uquote]ПростоНуб писал(а):на любом МК есть JTAG или что-то подобное.
Вы специально не уточнили, какой же МК Вы имеете в виду, чтобы я об этом спросил? Ну так вот, спрашиваю. Какой же МК Вы знаете без средств отладки?
Не понимаю. Ведь в МК у Вас всегда бинарные данные. Так почему средствами МК парсить бинарные данные перед передачей их ПК проще, чем парсить те же самые бинарные данные средствами ПК? Как я понимаю, любой парсинг на ПК пишется всяко проще и быстрее, чем на МК.ARV писал(а):мне никакого резона нет клепать утилиту, парсящую бинарный поток данных
Добавлено after 4 minutes 14 seconds:
Starichok51, видимо, у Вас такая специфика. У меня, в подавляющем большинстве случаев, если связь с ПК и требуется, то она реализуется через концентратор на ESP8266 или одноплатный ARM (малинка, апельсинка и т.п.).


