[elektro] RS485 ovi
Nemeth Tibor
nemeth.tibor798 at t-online.hu
Wed Dec 21 00:38:13 CET 2011
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