Hirdetés
- Soundbar, soundplate, hangprojektor
- Milyen TV-t vegyek?
- Ezzel az ismerős óriással megint jó találkozni
- Milyen RAM-ot vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Androidos tablet topic
- Milyen videókártyát?
- TCL LCD és LED TV-k
- Vezeték nélküli fülhallgatók
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
-
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
- Soundbar, soundplate, hangprojektor
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Milyen TV-t vegyek?
- Ezzel az ismerős óriással megint jó találkozni
- A fociról könnyedén, egy baráti társaságban
- sziku69: Szólánc.
- Napelem
- Milyen RAM-ot vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Androidos tablet topic
- További aktív témák...
- SONY STR-DE485E Erősítők
- LG 47LM660S Full HD 3D LED SMART televízió 47" (119cm)
- HP ZBook 17 G6 i7-98500H / 64GB RAM / 1TB SSD / RTX 4000
- BESZÁMÍTÁS! MSI B450 R5 5600X 32GB DDR4 512GB SSD RX 6700XT 12GB Zalman Z1 Plus Cooler Master 750W
- DELL G15 5515 Gamer Laptop /Ryzen 7- 5800H/16GB 512 SSD/ Nvidia RTX 3060 6GB/120Hz/
- BESZÁMÍTÁS! MSI B550M R7 5700X 32GB DDR4 1TB SSD RTX 4070 12GB ZALMAN M4 A-Data 750W
- Gamer PC-Számítógép! Csere-Beszámítás! I5 12400F / RTX 3060Ti / 32GB DDR4 / 512 M.2 SSD
- Amazon Kindle 10th Generation ébresztős tok
- HIBÁTLAN iPhone 14 Pro Max 512GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, 100% Akkumulátor
- HIBÁTLAN iPhone 14 Plus 128GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3659, 100% Akksi
Á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

