Прием и передача данных на компьютер С++

Lictor
Offline
Зарегистрирован: 01.10.2015

Добрый день.

Задача у меня такая: по запросу с ардуино (например, посылка 1 в COM порт) программа на компьютере на С++ делает некие вычисления и в зависимости от результат передает на ардуино, опять же через COM порт результат 0,1 или 2.

Только мне кажется, что я изобретаю велосипед, кто-то же точно делал подобное? Есть на с++ библиотеки (Boost и т.п.), но они слишком велики для моего проекта, разбираться с ними дольшечем делать.

Может посоветуете что-нибудь?

 

(на данный момент мучаю Boost.asio, но, кажется, он замучает меня первым)

b707
Offline
Зарегистрирован: 26.05.2017

это делается через любую библиотеку работы с компортом. Какую - зависит от того, в чем вам привчнее писать С++ на десктопе. Здесь проскакивали аналогичные темы про Qt, например.

А так, в принципе, это можно делать на любом языке программирования и даже просто системными скриптами (под линуксом на bash). Я ардуино-деионы в линуксе на перле пишу...В винде, кстати, для особых извращенцев тоже можно на перле писать...

Lictor
Offline
Зарегистрирован: 01.10.2015

b707 пишет:

это делается через любую библиотеку работы с компортом. Какую - зависит от того, в чем вам привчнее писать С++ на десктопе. Здесь проскакивали аналогичные темы про Qt, например.

А так, в принципе, это можно делать на любом языке программирования и даже просто системными скриптами (под линуксом на bash). Я ардуино-деионы в линуксе на перле пишу...В винде, кстати, для особых извращенцев тоже можно на перле писать...

Я уже саму программу распознавания написал на С++, поэтому я так к нему привязан. Qt... не слышал, но сейчас узнаю...

В принципе данные с помощью "эха"  я на ардуино передавал без проблем.

 

Кстати, может имеет смысл подключать арудино как USB устройство? может по USB передавать данные проще, чем в ком порт.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Буст - он кроссплатформенный, поэтому уточни платформу и компилятор.

Он может и тяжеловат, но универсален. Вот и юзай.Как-то так...

io_service service;
serial_port sp(service, "COM7");// ежели Винда

serial_port::baud_rate rate(9600);
sp.set_option(rate);

char data[512];
read(sp, buffer(data, 512));

 

Logik
Offline
Зарегистрирован: 05.08.2014

Какой нафиг буст и Qt нафиг?! Работа с компортом из с/с++ гуглится на раз. Из любой популярной ОС.  Там работа как с файлом. Если блокирующее чтение устроит. Если не устроит - тоже гуглим, примеров валом.

 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

я только к тому, что человек хочет - пусть юзает... по мне, так похер что именно.

Я ему даже пример скомпилю на его любимой библиотеке... тока под Линухом.

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

дык! эта вот тебе и приём, и пердача, и С++ Терминал для DigiUSB.