Domaci automatizace
Jan Waclawek
wek@evona.sk
Středa Květen 25 09:48:12 CEST 2005
MK wrote:
>>Na PC/Win sa nam stava, ze cas otocenia sa natiahne na (magickych :-)
>>55ms alebo jednoducho vo "vlaciku" vysielanych byte sa vyskytne 55ms
>>medzera. Pochopitelne to vedie k poskodeniu momentalne prenasaneho
>>paketu, ale to riesi slusna paketizacia a retry.
>
>
> Ze by tech 55ms bylo az tak magickych :-))))))
>
> 14.31818MHz /3 = 4.772726MHz (takt puvodni 8088 v IBM PC-XT)
> 4.772726MHz /4 = 1.193182MHz (takt pro 8253)
> 1.193182MHz /0xFFFF = 18.2068 Hz = 54.82ms (INT 0x1A)
> coz je zakladni casovy interval BIOSu a potazmo i DOSu a WIN
>
Si _vazne_ myslis ze som taky tupy?
Mimochodom, v tom timeri sa nedeli 0xFFFF ale 0x10000, kedze deliaca
konstanta je nastavena na 0. Este presnejsie, deli sa 32768, pretoze
timer bezi v rezime generatora frekvencie, takze sa dekrementuje v
kazdom kroku o 2; avsak prerusenie nastane pochopitelne len po 2 cykloch
(t.j. ked sa vygeneruju 2 hrany), takze z praktickeho hladiska naozaj
ide akoby o delenie 65536.
Za mladi som urobil taku hlupost, ze som 485-kovu komunikaciu (timeouty)
ocasoval prave pomocou timera; a kedze som sa bal preprogramovat ho,
urobil som to tak, ze som z neho v cykle cital (aj tak vtedy program
nemal co na robote). Jednak som sa najprv sekol prave kvoli tomu
zvlastnemu dekrementu o 2, a ked mi to uz chodilo, a nasadili sme to
masovo, tak som skumal, preco sa na jednom mieste ta komunikacia
zakuckava a zistil som, ze bohuzial sa z timera zaintegrovaneho do
urciteho chipsetu citaju obcas blbosti.
Tolko o kompatibilite.
wek
Další informace o konferenci Hw-list