[elektro] PIC, TRMT
Móczik Gábor
pm_levlista at progzmaster.hu
Fri Sep 20 12:29:34 CEST 2013
2013.09.20. 11:14 keltezéssel, Balla Zoltán írta:
> Pic-es felhasználókat kérdeznék arról, hogy futott e már valaki olyan hibába, miszerint a TRMT bit
> figyelése az adatok elküldéséhez viszonyítva nem mindig korrekt ?! Az az, elvileg akkor áll be,
> amikor befejeződött a vonalon a kommunikáció..., na de mikor törlődik ? Mert ugye, a TXregbe írás
> után, ha van még kiküldendő adat, ezt a bitet figyeli az ember, mikor mutat üres állapotot, hogy a
> következő kimenő adat írását megejtsük. De ha a TRMT nem akkor törlődik, amikor a TXreg kiürül,
> akkor előfordulhat hogy még egyet mutat, az az már üreset, holott épp csak el fog kezdődni a
> kommunikáció...ergó egymásra íródhat pl 2 byte adat.... Vagy hogy is van ez ?
Emlékeim szerint van egy shift register amibe az adat átkerük a
TXREG-ből, és ennek (az előbbi) üres állapotát jelzi a TRMT bit, azaz
amikor kiment az utoljára küldött byte.
Gyakorlatilag double-buffer technika. Ha a TXREG üres állapotát akarod
megtudni, azaz hogy mikor írhatsz bele új adatot, akkor a TXIF bitet
kell figyelni. Ha megszakítást használsz, akkor az is ilyenkor fog beütni.
A TRMT bit arra jó, hogy ha mondjuk le akarod tiltani a kommunikáció
után a perifériát, vagy mondjuk pl. soros porton bejött REBOOT parancsra
akarsz még egy ACK választ küldeni, akkor a RESET utasítás előtt
megvárod amég a TRMT üreset jelez.
More information about the Elektro
mailing list