ECP Help

A

aamiralikhoja

Guest
Vážení Fellows.Ja som pracoval na projekte ECP Port Port ECP funguje dobre.Beriem údajov

od mikrokontroléru na 16Bytes/Sec a ukladanie vo vyrovnávacej pamäti.po

skladovanie, som písanie dáta na pevný disk tento program funguje v DOSu pomocou

Watcom C kompilátor, ale strate dát pri spúšťaní v systéme Windows 98, s použitím Visual C

prekladač.I am using P-3 PC.Iam psedo pomocou nasledujúci kód.

Kontrola FIFO plná vlajkou v mojom Visual C program po FIFO vyplnená.Čítal som fifo cez nasledujúci kód
robiť
(
robiť
(
) While (! Fifofull);
for (i = 0; i <16; i )
buffer [i j] = inport (fifiaddr);
j = j 16
)) While (buffer! Full);
, Kde je 1 MB vyrovnávacej pamäte.
Ako uchovávať a spracovávať dáta v takých podmienok v prostredí MS Windows.Ako sa
optimalizovaný kód.Počul som, že dáta môžu ECP zariadi údajov na IMBits / Sec Ako
to môže byť done.pleas odpoveď.

 
Váš kód je ťažko čitateľný - bez odsadenie, zložených zátvoriek nesúhlasí, syntaktická chyba "nárazníkovej! Plné výške."

Je sort-z vyzerá vaše vedenie čaká, až FIFO je plná pred tým, ako začne čítať niektorý z bytov., Ktoré by spôsobovali neustále 100% využití procesora (silne proti-spoločenské správanie Windows), a porazí väčšinu účel s FIFO (ak ste nebezpečenstvo pretečeniu bytov 16 a 17 doraziť tesne vedľa seba).

Naozaj si myslia iba šestnásť bajtov za sekundu?Simply start 20 Hz časovač, ktorý kontroluje FIFO prázdna vlajku a vstupy všetkých dostupných bytov.

 
Drahý

Vďaka za odpoveď.Nie je to syntaktická chyba, ale napísaná správne.

Aactually dáta prichádza na 16KBytes/Sec a já čaká

FIFO, až po zaplnení FIFO vyplnená Teraz čítaní

FIFO a celý cyklus znovu skontrolovať fifoFull Flag.How Ak chcete čítať FIFO

tak, že nedochádza k strate zo data.I používam v mojej aplikácii

konzola typu projektu.Potom som sa pohybovať MFC projektu.

 
16K bytes / sec predstavuje veľký rozdiel.Ak váš externé hardvérové zariadenie nemá vyrovnávaciu pamäť FIFO, potom ste pravdepodobne nemôže urobiť čisto softvérové vstupné slučke spoľahlivo fungovať v prostředí Windows kvôli oneskoreniu multitasking.1kHz multimediálne časovač a 16-byte FIFO ECP sa veľmi blíži k svojmu požiadavky, ale bude to asi len ťažko zlyhá.V takom prípade budete potrebovať ovládač zariadenia, ktoré používa prerušenia a možno aj DMA.Veľký projekt!Dúfajme, že môžete pridať externú FIFO zabrániť tomu, aby bolesť hlavy.

Niektoré diskusia o vodičovi:
http://www.edaboard.com/viewtopic.php?t=98894

 

Welcome to EDABoard.com

Sponsor

Back
Top