Russian Qt Forum
Ноябрь 24, 2024, 04:56 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: [Решено] QSerialPort пара воросов  (Прочитано 13588 раз)
titan83
Гость
« : Сентябрь 15, 2016, 14:07 »

Здравствуйте, уважаемые коллеги.
В тему кастуется kuzulis, как человек наиболее приближенный к сабжу, но и наставления других камрадов приветствуются.
Среда. С одной стороны - ti sitara 3357 + linux 3.14, с другой - ноут с win7 64.
1. Не могу получить правильные данные при числе бит меньше семи, т.е.7 и 8 - все правильно. Делаю 6 или 5 - получаю мусор. В принципе, на жизнь не влияет - просто интересно.
2. Про mark и space под линухом я в курсе (что не работает), тоже не критично.
3. И важное. Если на стороне линуха стоит 7 бит данных, а на ноуте 8, и с ноута я что-то посылаю, то в линухе я неполаю ничего. Я понимаю, что это вопрос не к SerialPort - он просто от ядра ничего не получает, но все интересно: так всегда происходит, если у отправителя бит данных больше, чем у получателя? Просто хотелось бы получать хоть что-то, чтобы понимать, что дело в настройках, а не в кабелях.

Спасибо.
« Последнее редактирование: Сентябрь 20, 2016, 07:59 от titan83 » Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1 : Сентябрь 15, 2016, 21:47 »

Цитировать
Делаю 6 или 5 - получаю мусор.

Не может быть.

Цитировать
Про mark и space под линухом я в курсе (что не работает)

Неправда, работает.

Цитировать
если у отправителя бит данных больше, чем у получателя?

Как карта ляжет.
Записан

ArchLinux x86_64 / Win10 64 bit
qate
Супер
******
Offline Offline

Сообщений: 1177


Просмотр профиля
« Ответ #2 : Сентябрь 15, 2016, 21:59 »

1. а зачем чтото иное чем 8 бит?
2. четность тоже никогда не нужна )

я бы даже сказал что компорт тоже не нужен, т.к. неудобен и устарел, ethernet удобнее )

Записан
titan83
Гость
« Ответ #3 : Сентябрь 15, 2016, 22:32 »

Цитировать
Не может быть.
Тут ты прав - моя промашка(
Цитировать
Неправда, работает.
https://www.google.ru/search?q=linux+mark+space+parity&oq=linux+mark+spa&aqs=chrome.1.69i57j0j69i60.7296j0j4&sourceid=chrome&ie=UTF-8
И у меня так и нет приема корректного (есть только некоторые символы)ю
Цитировать
Как карта ляжет.
Жаль, почему-то если шлешь в обратную сторону с разными датабитами, то виндовый драйвер выдает мусор.

Но все равно спасибо.
Записан
titan83
Гость
« Ответ #4 : Сентябрь 15, 2016, 22:37 »

1. а зачем чтото иное чем 8 бит?
2. четность тоже никогда не нужна )

я бы даже сказал что компорт тоже не нужен, т.к. неудобен и устарел, ethernet удобнее )
Я с вами солидарен, я люблю стек TCP\IP.
Но вот незадача - есть еще места на планете, куда не добрались современные веяния: там нет хипстеров, макбуков и смузи, а в наличии только масс-спектрометры, да весы производства конца 80-х годов прошлого века)))
Но я стараюсь, честно, чтобы и у них все было, как у людей - собираю данные с их старья и кидаю их в MSSQL, так что скоро и на чилийских медных рудниках откроются detox-бары)))
Humor mode off))
Записан
qate
Супер
******
Offline Offline

Сообщений: 1177


Просмотр профиля
« Ответ #5 : Сентябрь 16, 2016, 08:44 »

в наличии только масс-спектрометры, да весы производства конца 80-х годов прошлого века

по исходному сообщению и не понятно что идет подключение к весам 80х, а будто разработка нового железа
Записан
titan83
Гость
« Ответ #6 : Сентябрь 16, 2016, 14:30 »

в наличии только масс-спектрометры, да весы производства конца 80-х годов прошлого века

по исходному сообщению и не понятно что идет подключение к весам 80х, а будто разработка нового железа
Я без шуток считаю, что для взаимодействия между устройствами надо использовать только tcp\ip (modbus tcp, mqtt, snmp, https), а serial - это поддержка старых legacy-систем, где сроки работы - десятилетия, и раньше никто ничего менять не будет.
Записан
Bepec
Гость
« Ответ #7 : Сентябрь 16, 2016, 15:47 »

Вы имеете шоры на глазах.
Пока вы сидите в квартирке/офисе в центре города с развитой инфраструктурой и пользуетесь умной кофемолкой - да, можно забыть о serial.

А вот когда вам нужно передать сигнал на расстоянии пары тройки километров, вы вдруг узнаете, что ethernet тянет только около 100 метров без повторителя... Оптоволокно дорого... А обычный двужильный провод и serial даёт нормальный результат Веселый

На каждую технологию своя ниша. По телефону можно говорить по 2 проводам. Там незачем 8 проводов плюс микроконтроллер с поддержкой ethernet Улыбающийся
Датчик температуры за 100 рублей нормально подключается по serial. А версия с ethernet стоит раз в 5/6 дороже.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #8 : Сентябрь 16, 2016, 18:09 »

в промышленном оборудовании пока приходится пользоваться RS-485 (Modbus, ...) или CAN, у первого скорость невменяемая, но большинство оборудования его поддерживает.

А в толстых конторах, разработчик, как правило, имеет право выбора из ассортимента конкретных поставщиков (из утверждённого "на верху" списка).
Ещё большая жопа в конторах где проводят [антикорупционные] тендеры. Там какое говно тендер выиграет, на том и клепать будешь.
Записан

Юра.
qate
Супер
******
Offline Offline

Сообщений: 1177


Просмотр профиля
« Ответ #9 : Сентябрь 16, 2016, 19:18 »

А вот когда вам нужно передать сигнал на расстоянии пары тройки километров, вы вдруг узнаете, что ethernet тянет только около 100 метров без повторителя... Оптоволокно дорого... А обычный двужильный провод и serial даёт нормальный результат Веселый

и какая скорость будет у serial на длине 100м ?
ethernet есть везде, он удобен, его не пожгут руки пользователей, есть снифферы для анализа, доступ в любую точку мира есть

На каждую технологию своя ниша. По телефону можно говорить по 2 проводам. Там незачем 8 проводов плюс микроконтроллер с поддержкой ethernet Улыбающийся
Датчик температуры за 100 рублей нормально подключается по serial. А версия с ethernet стоит раз в 5/6 дороже.

когда ты говорил по телефону по двум проводам в последний раз? )
канал до местной АТС не в счет

и не 8, а 4 провода надо для ethernet

да даже датчики по etherent удобнее, прописал кучу ip - все получили сигнал
Записан
Bepec
Гость
« Ответ #10 : Сентябрь 16, 2016, 19:44 »

Ну самый простой пример - удаленное устройство. До него 500 метров по лесу.
Что проще - кинуть 2 провода и радоваться, или же ставить каждые 100 метров репиторы, подводить к ним полноценную магистраль и питание? Веселый

PS вот вы и о скорости вспомнили. А она в 90% случаях, когда речь не касается интернета, не очень нужна Веселый
Записан
qate
Супер
******
Offline Offline

Сообщений: 1177


Просмотр профиля
« Ответ #11 : Сентябрь 16, 2016, 21:02 »

Ну самый простой пример - удаленное устройство. До него 500 метров по лесу.

я не знаток железа, но разве serial тут будет работать и на какой скорости ?
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #12 : Сентябрь 16, 2016, 21:43 »

я не знаток железа, но разве serial тут будет работать и на какой скорости ?
Посмотрите на RS-485
Записан
Bepec
Гость
« Ответ #13 : Сентябрь 17, 2016, 00:37 »

Serial по RS 485 спокойно передаётся на 1км. Выше - уже начинаются потери, искажения, но вполне работает, если в протоколе дублирование или проверки целостности есть.
Записан
titan83
Гость
« Ответ #14 : Сентябрь 17, 2016, 11:35 »

Вы имеете шоры на глазах.
Пока вы сидите в квартирке/офисе в центре города с развитой инфраструктурой и пользуетесь умной кофемолкой - да, можно забыть о serial.

А вот когда вам нужно передать сигнал на расстоянии пары тройки километров, вы вдруг узнаете, что ethernet тянет только около 100 метров без повторителя... Оптоволокно дорого... А обычный двужильный провод и serial даёт нормальный результат Веселый

На каждую технологию своя ниша. По телефону можно говорить по 2 проводам. Там незачем 8 проводов плюс микроконтроллер с поддержкой ethernet Улыбающийся
Датчик температуры за 100 рублей нормально подключается по serial. А версия с ethernet стоит раз в 5/6 дороже.
Раз тема свалилась в небольшой оффтоп, то)))
На счет шор вы слегка погорячились: я работал с rs-232 (485), can, ethernet, wifi, zigbee, сейчас слегка ковыряю lora. Причем работать приходилось в регионах наподобие Ухты, Нижневартовска... Это были отнюдь не удобные офисы в миллионниках. Так что понимание плюсов и минусов каждой технологии присутствует.
А вот вы, как мне показалось, отождествляете Ethernet и tcp\ip, а это в корне неверно. Я несколько раз писал, что вижу приоритет именно tcp\ip, а не Ethernet, как частной физической среды. Это существенная разница.
Я работал с modbus, я работал с колхозными протоколами на can - это все неимоверная боль. Все эти бесконечные поллинги... На стеке tcp\ip есть протоколы для любых целей, нет нужды натягивать сову на глобус (canopen - слишком сложно, поэтому напишем-ка свой колхоз, имитирующий modbus, но в can-кадре 8 байт).
Но я считаю, что точка невозврата уже пройдена: дешевле нанять сисадминчика, чем бородача из 80-90-х и любая промышленная автоматика будет по сути сетевой инфраструктурой с четким централизованным управлением, а не мешаниной разномастных устройств.
Поэтому для меня так: tcp\ip везде, где возможно, serial - где невозможно предыдущее.
Все вышесказанное - имхо, мне 33 года, программирую с 9 лет, начинал на асме, так что кой-чего понимаю про работы в самом низу. Это для составления психоповеденческого образа)))
Всем мира))
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.058 секунд. Запросов: 22.