CRC25 - kuidas ?
#18
(04-02-2015, 05:28 PM)A.R. Kirjutas: Näidisjada
http://eastbay-rc.blogspot.com/2013/04/m...oding.html
oli selline
_0__1__2__3__4__5__6__7__8__9__a__b__c__d__e__f_10
FE_09_4E_01_01_00_00_00_00_00_02_03_51_04_03_1C_7F 1. näidis
____0__1__2__3__4__5__6__7__8__9_10_11_12_13 jada elemendid 0 kuni ...
FE_09_9E_01_01_00_00_00_00_00_02_03_51_04_03_7A_6C 2.näidis
___09_4E_01_01_00_00_00_00_00_02_03_51_04_03_32 3. Mina, ei tea kust võetud 32.

Küsimused:
1. Kust tulid 14. ja 15. element?
2. Mis programmiga see asi lahendatud on?
LabView anndvat ok tulemused.
Aga C-s transleeritud programm ei lange kokku isegi peale esimest ringi.

MIDAGI ON KUSKIL MÄDA.
_______________________________
Mudisin natuke neid nelja rida ja sain esimese rea tulemuse samaks.
Muutujate kirjeldused, & käsud.
Aga juba teine rida ikka ei klapi.
my bad... index 15 oli vale, õige on 14.
14 ehk viimane bait on siit:
https://github.com/marhar/eastbay-mavlin...eam.py#L46

Kogu programmi käik
Kood:
buffer [09 4e 01 01 00 00 00 00 00 02 03 51 04 03 32], length=15
idx, data -> crc
[ 0] [09] -> [9246]
[ 1] [4e] -> [8cda]
[ 2] [01] -> [68d2]
[ 3] [01] -> [e47e]
[ 4] [00] -> [9a1d]
[ 5] [00] -> [cbfe]
[ 6] [00] -> [1e3a]
[ 7] [00] -> [9ec7]
[ 8] [00] -> [b22d]
[ 9] [02] -> [d947]
[10] [03] -> [04f9]
[11] [51] -> [2946]
[12] [04] -> [613f]
[13] [03] -> [fb8e]
[14] [32] -> [7f1c]
Minu programm on lahendatud php's.
Kui sa teed bittide nihutamist, siis pead kandma hoolt, et väärtusel oleks kasutuses õige arv bitte (tmp puhul 8 ja crc puhul 16)

Kuna php's ei ole Xbitiseid muutujaid, siis kahes kohas toimub ületäitumine ja ülemised bitid peab nullima.
Kood:
$tmp = $data ^ ($crc & 0xff);
$tmp = ($tmp ^ ($tmp << 4)) & 0xFF; <-- jäta alles 8bitti
$crc = ($crc >> 8) ^ ($tmp << 8) ^ ($tmp << 3) ^ ($tmp >> 4);
$crc = $crc & 0xFFFF; <-- jäta alles 16 bitti
Vasta


Sõnumeid selles teemas
CRC25 - kuidas ? - Autor: felch - 26-01-2015, 10:52 PM
RE: CRC25 - kuidas ? - Autor: A.R. - 27-01-2015, 10:54 AM
RE: CRC25 - kuidas ? - Autor: felch - 27-01-2015, 05:04 PM
RE: CRC25 - kuidas ? - Autor: A.R. - 27-01-2015, 06:47 PM
RE: CRC25 - kuidas ? - Autor: A.R. - 28-01-2015, 05:09 PM
RE: CRC25 - kuidas ? - Autor: felch - 28-01-2015, 08:51 PM
RE: CRC25 - kuidas ? - Autor: felch - 28-01-2015, 11:09 PM
RE: CRC25 - kuidas ? - Autor: A.R. - 29-01-2015, 08:03 AM
RE: CRC25 - kuidas ? - Autor: felch - 29-01-2015, 08:42 AM
RE: CRC25 - kuidas ? - Autor: A.R. - 29-01-2015, 09:49 AM
RE: CRC25 - kuidas ? - Autor: felch - 29-01-2015, 11:38 AM
RE: CRC25 - kuidas ? - Autor: A.R. - 29-01-2015, 11:57 AM
RE: CRC25 - kuidas ? - Autor: A.R. - 29-01-2015, 07:00 PM
RE: CRC25 - kuidas ? - Autor: felch - 30-01-2015, 09:40 PM
RE: CRC25 - kuidas ? - Autor: madis - 30-01-2015, 11:46 PM
RE: CRC25 - kuidas ? - Autor: admin - 04-02-2015, 02:48 PM
RE: CRC25 - kuidas ? - Autor: A.R. - 04-02-2015, 05:28 PM
RE: CRC25 - kuidas ? - Autor: admin - 04-02-2015, 06:50 PM
RE: CRC25 - kuidas ? - Autor: A.R. - 04-02-2015, 08:50 PM
RE: CRC25 - kuidas ? - Autor: admin - 04-02-2015, 09:08 PM
RE: CRC25 - kuidas ? - Autor: felch - 04-02-2015, 11:36 PM
RE: CRC25 - kuidas ? - Autor: madis - 05-02-2015, 12:56 AM
RE: CRC25 - kuidas ? - Autor: A.R. - 05-02-2015, 08:35 AM
RE: CRC25 - kuidas ? - Autor: madis - 05-02-2015, 02:32 PM
RE: CRC25 - kuidas ? - Autor: felch - 05-02-2015, 05:17 PM

Alamfoorumi hüpe:


Kasutaja, kes vaatavad seda teemat: 3 külali(st)ne