|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
|  | 
|  | Опции темы | Поиск в этой теме | Опции просмотра | 
|  | 
| 
			 
			#1  
			
			
			
			
		 | |||
| 
 | |||
|  выделение  пакетов из буфера COM порта Здравствуйте!!! Для работы с com портом и шиной i - bus использую компонент Vacomm параметры (9600 bps, 8 data bits, Even parity, 1 stop bit.) требуется принимать пакеты следующего вида Source ID, length, Destination ID , data , cksum пример: 80 0A BF 13 00 13 00 00 00 00 20 80 устройство , 0A длина ,BF какому устройству ,(13 00 13 00 00 00 00) сообщение устройству , 20 XOR checksum (сумма байтов всего сообщения) в событии OnRxChar я получаю байты из буфера com порта , т.к. пакет в большинстве случаев принимается не целиком а в несколько заходов , отсюда и возникла проблема с обработкой пакетов !!! Прошу подсказать как полученные байты приводить в надлежащий вид т.е. в пакет для дальнейших действий с ними и как быть с неправильно принятыми пакетами ???? | 
| 
			 
			#2  
			
			
			
			
		 | ||||
| 
 | ||||
|   с помощью pipe, например. либо читать из буфера остаточное количество до длины пакета. | 
| 
			 
			#3  
			
			
			
			
		 | |||
| 
 | |||
|   что есть pipe ??? Цитата: 
 вопрос: а по скольку байт мах может быть в буфере при наступлении OnRxChar , а то когда смотрел на принимаемые данные с шины , были случаи что при разовом срабатывании он принял сразу два пакета ~ 10 - 15 байт |