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