[elektro] RS485 ovi
mik.lajos2
mik.lajos2 at freemail.hu
Wed Dec 21 09:13:37 CET 2011
Sziasztok!
Annak idején én úgy oldottam meg a küldés utáni irány váltást hogy a 485
meghajtó vételi oldalát fix vételre kötöttem és csak a DE lábat
mozgattam, úgy hogy a vétel megszakításos volt. Ha a vétel megszakítás
érkezett akkor a IT elején a DE lábat tiltottam és utána néztem hogy mi
jött. Ezt egyszerűen az adás byte és a vett byte maszkolásával végeztem.
Néztem azt hogy az én üzenetem jött-e vissza (persze ehhez az kell hogy
egyedi byte-ok legyenek küldözgetve), ezzel tudtam egyféle hiba
ellenőrzést is végezni (valamelyik külső egység nem-e hülyült meg és
fogja le a vonalat). Ennek alapján csinálható egy olyan hogy a vételi IT
megnézi a DE kiválasztó port állapotát és ha ö adott akkor a porton
változtat és a vett adatot eldobja (mivel az saját adás adás volt).
Üdv.: miklajos
2011.12.21. 0:38 keltezéssel, Nemeth Tibor írta:
> Hali!
>
> Amit a többiek leírtak az kezdetnek elég. Én is csak azért ragadok
> billentyűzetet mert éppen mostanában esek át ezen a dolgon és bizony
> szívtam vele. Neked ne kelljen.
> Nem csak az a kérdés mikor aktiváld a lábat, az is mikor vedd vissza.
> Nálam az volt a jelenség, hogy több-bájtos üzeneteknek a vége elveszett.
>
> Szépen beírtam a (addig RS232 jellegű)kiviteli rutin elejébe, RE/DE
> adásirányba, majd betöltöttem az üzenetet egy bufferba ahonnan egy
> interrupt rutin csipegeti ki a hardverba a bájtokat. Amikor a TXIF
> interrupt rutin azt tapasztalja, hogy a buffer kiürült vagyis az
> utolsó bájtot is kiírta TXREG-be, nos akkor NEM SZABAD DE-t
> visszavenni. Én ezt tettem, mert elfelejtettem, hogy még az utolsó
> bájtot ki is kell shiftelni.
> Én még 16F690-nel csináltam, abban nincs megszakítás a shiftelés
> befejezésére így nem egészen pontos és izzadságszagú megoldás lett a
> dologból, az utolsó TXIF indít egy időzítést ami majd visszaveszi
> DE-t, hogy vételre állhasson.
> A te picedet nem ismerem, de valószínű, hogy abban már van mexakítás a
> shiftregiszter felszabadulására is.
>
> Üdv.
> Németh Tibor
>
More information about the Elektro
mailing list