Hardware Delay

P

Pomoc

Guest
Ahoj,

Každý, kdo mi pomůže kontrolovat jednoduchý kód (program je práce).

Problém je v tom, když jsem pomocí Keil pro simulaci je výsledek ..1.029805sec při 1000 looping, ale ... když prakticky není ~ 1s (to trvat víc než pár minut).
then in practical the result nearly to ~1sec.

Tak jsem ji změnit 1 na DELAY_T0_Wait (1),
pak v praktické výsledek téměř do ~ 1s.

Hardware krystal je 11.059MHz.

Může mi někdo říct proč?

Poděkovat
Omlouváme se, ale musíte přihlásit a prohlížet tuto přílohu

 
Ahoj

To je špatně způsob, jak hardware zpoždění!

Měli byste nastavit časovač pro periodické inerrupt kteří zvýšit dlouhý typ proměnnéTimeValue = TimeValue 1;pokud chcete začít zpoždění je třeba uložit tohoto registru hodnotu zpoždění

období.Temp = TimeValue zpoždění;pro testování vytvořit smyčku, pokud kdo čte proměnnou a coper to ten, který jste uložili, jakmile hodnoty jsou equle nebo velká pak -> zpoždění je u konceDlayFlag = 0;Temp2 = TimeValue;if (Temp> = Temp2)DlayFlag = 1;Všechno nejlepší

Bobi

 
Ahoj příteli,

Velmi rád, můžete vysvětlit na mě, ale i přesto mám trochu Rozostřit.

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Pláč nebo velmi smutný" border="0" />

.., Prosím, můžete mi pomoci na modifikované můj kód.Takže můžu studovat / pobyt od kódu, když jsem stále nechápe, tak jsme se přijít a diskutovat více dále můžeme?

Děkujeme

 
Nevidím nic špatného na tento kód (z kapitoly 6: "Setkání real-time omezeními", Embedded C), i když nepoužívá přerušení ..
Můžete post sestavit kód, který budete chtít použít v reálném mikrokontroléru ..
S pozdravem,
IanP

 
hi,

Já používám, že jsem post jej spustit v reálném mikrokontroléru.Jen s různými kód ..

then i change it to DELAY_T0_Wait(1);
because if i using the book given value i can't achieve ~1sec in real microcontroller.

Kniha je věnována DELAY_T0_Wait (1000),
pak jsem ji změnit DELAY_T0_Wait (1),
protože když jsem s použitím knihy daná hodnota nemohu dosáhnout ~ 1sec v reálném mikrokontroléru.

Máte nějaký nápad?

Děkujeme

 
Ověřil jsem si soubor HEX z vašeho ZIP, rozebrat to a nemohl najít žádné chyby ..

Pak jsem testoval svůj kód 87C52 mikro a jak je mám 1.2ms square wave na pin 1,0, takže předpokládám, že v případě N = 1000 čtverečních vlna by 1.2s ..

S pozdravem,
IanP

 
Ahoj,

Takže, myslíte, že není žádný problém s kódem, když používáte můj kód?máte-li změnit N = 1000 nebo N = 1 kód spusťte jej v praktickým způsobem?Při N = 1000 kód musím počkat pin1.0 s LED bliká velmi dlouho ... co je broblem?

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Pláč nebo velmi smutný" border="0" />

Je to můj hardware problém?

Díky ..

 
To je správné, software běží dobře ..

Stačí, aby se ujistil, že také hrál s N = 1000, můžete sestavit nové soubory s N = 1000 a po nich?

Pokud můžete, vyměňte mikrokontrolér s jinou 8051-compatibile, a zkontrolujte, zda je hodinová frekvence je 11,059200 ..

S pozdravem,
IanP

 
Ahoj,

Už jsem po N = 1000 a N = 1 Hex vám soubor, zkuste a uvidíte ...

Mám pouze 89c52 a já am using 11.059M krystal ..

Díky moc ....
Omlouváme se, ale musíte přihlásit a prohlížet tuto přílohu

 
Snažil jsem se N = 1000 možností a výsledné náměstí vlna ≈ 0.7s období ..
Takže více než méně, že je zvládnutelný ..
Na druhou stranu, proč se vaše 89C52 se chová jinak ..Já opravdu nevím ..
S pozdravem,
IanP

 

Welcome to EDABoard.com

Sponsor

Back
Top