Обсуждение всех вопросов связанных с нашим сервером мониторинга. Сообщения об ошибках, путях их исправления, пожелания об улучшении и т.д..
	
		
		
			
			
			 Chris » 17 фев 2011, 23:11
 Chris » 17 фев 2011, 23:11 
			
			На примере пакета 41 03 56 89 50 38 77 67 98 45 68 00 00 00 00 00 00 00
- Код: Выделить всё
- function crc($bytes)
 {
 $r = 0x3B;
 
 for($i = 0; $i < strlen($bytes); $i++)
 {
 $r += 0x56 ^ ord($bytes[$i]);
 $r++;
 $r ^= 0xC5 + ord($bytes[$i]);
 $r--;
 }
 
 return $r & 0xFF;
 }
 
 printf('%02X', crc("\x41\x03\x56\x89\x50\x38\x77\x67\x98\x45\x68\x00\x00\x00\x00\x00\x00\x00"));
 
 ?>
 
		
			
			- 
				Chris
			
-  
- Сообщения: 28
- Зарегистрирован: 16 фев 2011, 01:24
- 
				
			
 
	 
	
	
		
		
			
			
			 pnz » 19 авг 2011, 15:30
 pnz » 19 авг 2011, 15:30 
			
			А на Jave так будет??? а то чтото не фурычит...
- Код: Выделить всё
- private int crc(ByteBuffer bytes)
 {
 
 int r = 0x3B;
 for (int i=0; i<bytes.limit(); ++i) {
 r= r + 0x56 ^ bytes.get(i);
 r++;
 r^=0xC5+bytes.get(i);
 r--;
 }
 return (r & 0xFF);
 }
 
		
			
			- 
				pnz
			
-  
- Сообщения: 1
- Зарегистрирован: 19 авг 2011, 15:19
- 
				
			
 
	 
	
	
	
	Вернуться в Сервер контроля и мониторинга АвтоФон КСА и мобильные приложения АвтоФон Коммандер
	
	Кто сейчас на конференции
	Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7