Hirdetés
- Gigantikus fordulatot vett a GeForce RTX 50 Super sorozat törlése
- Xiaomi Pad 7 Pro - fél kiló, maradhat!
- Asztali PC-s teljesítményt ígér az AYANEO közelgő kézikonzolja
- Milyen egeret válasszak?
- AMD Navi Radeon™ RX 9xxx sorozat
- HiFi műszaki szemmel - sztereó hangrendszerek
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Hobby elektronika
- Sony MILC fényképezőgépcsalád
- Videós, mozgóképes topik
-
PROHARDVER!
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
válasz
Teasüti
#10664
üzenetére
A GCR kódolás. Az volt a baj, hogy ha túl sok 0 vagy 1 jött egymás után a soros adatfolyamban, megzavarta a vevőt, elmászott a gain (begerjedt?
), az adatlapon lehet olvasni, hogy bizonyos jelhosszúság (0) után kötelező szünetet (1) beiktatni.
Először az 5 bites, Commodore-féle változatot próbáltam, de az csak az egymást követő 0 bitek számát maximálta 2-ben, az 1 biteket nem, így akár 8db 1-es bit is jöhetett egymás után, és nem akart úgy működni, ahogy vártam. Ezért kitaláltam egy 6 bites kódolást, ahol se kettőnél több 0, se kettőnél több 1 nem jöhet egymás után, és ezt már szereti a vevő.
Plusz két ellenőrző bitet használok az átviteli hibák detektálásához. Így a normál soros kommunikáció 11 bitje (1 start + 8 adat + 1 paritás + 1 stop) helyett ugyan 16 bitet küldök (1 start + 2x6 adat + 2 ellenőrző + 1 stop) egy byte átviteléhez, de azt akár 4000baud sebességgel (~230byte/s), és majdnem minden átviteli hibát ki tudok szűrni.
A hibás adatot felismeri a rendszer és eldobja.
Így most nem az történik, hogy bizonyos távolságból elkezd a hasznos adat közé mindenféle szemét keveredni, hanem van egy
határozott távolság, ahol egyszerűen megszűnik a kommunikáció. És ez volt a cél.
Új hozzászólás Aktív témák
- One otthoni szolgáltatások (TV, internet, telefon)
- Gigantikus fordulatot vett a GeForce RTX 50 Super sorozat törlése
- Vallás
- Xiaomi Pad 7 Pro - fél kiló, maradhat!
- Óra topik
- Huawei Watch 4 Pro - kívül-belül domborít
- Forza sorozat (Horizon/Motorsport)
- Asztali PC-s teljesítményt ígér az AYANEO közelgő kézikonzolja
- Black Friday november 29. / Cyber Monday december 2.
- AliExpress tapasztalatok
- További aktív témák...
- újszerű iPad Pro 11" (M4) (2024) M4 chip Wi-Fi + Cellular 256GB silver ezüst Apple garancia
- újszerű iPad Pro 12.9" (4. generációs) (2020) Wi-Fi + cellular 256GB asztroszürke
- újszerű MacBook Air M2 256GB SSD space gray asztroszürke Apple magyar
- Dell Latitude 7410 - Core i7-10610u. 16GB ram, Vil. magar bill, 12 hó gar.
- Thrustmaster ts-xw bázis
- Gamer PC-Számítógép! Csere-Beszámítás! Ryzen 5 8400F / 32GB DDR5 / RX 7800XT 16Gb / 1TB SSD!
- Xiaomi Redmi 14C 128GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felvásárlás!! Xiaomi Redmi 9, Xiaomi Redmi 9AT, Xiaomi Redmi 10, Xiaomi Redmi 10 2022
- HP ZBook Power 15 G8 Mobile Workstation i7-11850H 32GB 512GB Nvidia RTX A2000
- HIBÁTLAN iPhone 14 Pro Max 128GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS3913, 100% Akkumulátor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
), az adatlapon lehet olvasni, hogy bizonyos jelhosszúság (0) után kötelező szünetet (1) beiktatni.
Plusz két ellenőrző bitet használok az átviteli hibák detektálásához. Így a normál soros kommunikáció 11 bitje (1 start + 8 adat + 1 paritás + 1 stop) helyett ugyan 16 bitet küldök (1 start + 2x6 adat + 2 ellenőrző + 1 stop) egy byte átviteléhez, de azt akár 4000baud sebességgel (~230byte/s), és majdnem minden átviteli hibát ki tudok szűrni.
A hibás adatot felismeri a rendszer és eldobja.
ekkold

