\'51 a RS485

xmates@post.cz xmates
Středa Březen 17 11:52:12 CET 2004


> > Hi all,
> >   mam dotaz: 
> > Blbnu trochu s komunikaci jednocipu po RS485 a narazil jsem na problem s
> > otacenim smeru komunikace. Stanice vysila a az dovysila, musi prejit na
> > prijem...ale jak zjistit, ze je dovysilano? Pokud jsem dobre pochopil
> > specifikace, tak se TI nahodi na zacatku stopbitu (ugh!)...ale
> > predposledniho bajtu. Takze od posledniho TI bych musel pockat 11
> > bitovych intervalu (stop,start,8b,stop), coz uz je na casovac, ale o ten
> > bych nerad prisel. 
> > Zna nekdo nejakou fintu, jak tohle udelat s co nejmensimi ztratami
> > systemovych zdroju?
> > Tak me napada...nahodi se TI i po odvysilani _posledniho_ bajtu? Asi ne,
> > ze?
> > 
> >   TomM

Bit TI se nahazuje VZDY na konci posledniho datoveho bitu
vysilaneho bajtu (tj. na zacatku stop bitu), ktery byl
naposledy do TxSBUF zapsan! Pozor, hardware UARTu 8051
pouziva TxSBUF rovnez jako posuvny registr pri
vysilani! Neplest s prijmem, kde je prijimaci posuvny
registr (ISR) a RxSBUF oddelen a RxBUF tak slouzi
jako 1 bajtova vyr. pamet.
Pokud chcete pouzit UART 8051 jako RS485, mel by jste
ve svem programu po vyslani posledniho bajtu a
prichodu TI vyckat az do skonceni STOP BITu a teprve
potom prehodit smer vysilani. Jelikoz ovsem klidovy
stav linky odpovida log. urovnim stop bitu neni toto
nutne. Problem muze nastat v okamziku, kdy pouzivate
RS485 zarizeni, ktere si potrpi na korektni STOP BIT.
Pokud nejake jine zarizeni zacne vysilat jeste v dobe
STOP BITu, je z toho problem.
                                   Zdravi Mates

 Pro kazdeho e-mailova schranka zdarma na:
 *** http://POST.CZ 








Další informace o konferenci Hw-list