Вверх ↑
Ответов: 8930
Рейтинг: 823
#1: 2011-11-26 20:27:21 ЛС | профиль | цитата
Tomset91, физически каналы приёма и передачи данных разделены (контакты 2 и 3 разъёма COM) Приём данных и запись их в буфер происходит независимо от пользователя, когда пользователь подаёт команду на приём -- читается не сам порт, а его буфер -- самые первые байты в количестве, которое указал пользователь в своей команде. (Буфер не бесконечен, по умолчанию 512 байт, поэтому между скоростью порта, частотой считывания и количеством считываемых байт должно быть соответствие, например при установленной скорости 9600 бит/сек, что равно 960 байт/сек (байт=8 бит + 1 старт + 1 окончание=10 бит/байт) и установленном размере считывания 32 байта, период считывания должен быть не менее 1/(960/32)=32 миллисек. Чаще обращатся к порту -- излишне нагружать компьютер, реже -- в буфере пропадут не считанные данные.
Tomset91 писал(а):
точки onWrite и doRead просто соединены между собой
Только в случае соединения контактов "2" и "3"
порта, или открытия одного порта дважды, один на передачу, второй на приём и "тихо сам с собою вести беседу"
карма: 19

0