Jak používat zpoždění v jazyce ASM

0

020170

Guest
Chci používat funkce zpoždění v assembleru, protože budu používat DRAM. DRAM můj mají obnovovací dobu 2 ms. Jak používat funkce zpoždění v jazyce ASM? stačí použít "NOP" operand? nebo "WAIT" operand? Jak poznat, jak dlouho tyto operand byla přijata? díky.
 
Nejlepší způsob, jak závisí na procesoru, který používáte, a pokud používáte operační systém nebo multitasking plánovače a struktura vašeho software. Je možné, že hardware časovače, které byste mohli použít namísto spoléhání se na zpoždění při rutinní certin počet strojových cyklů realizovat. To by mohlo být nejlepší, aby aktualizace provádí přerušení vyvolané časovačem. Protože jste DRAM mohou ztratit jeho obsah, pokud není obnovována, co potřebujete zajistit, aby váš obnovení zpoždění Doe nesmí překročit maximální dobu. Máte-li zpracování přerušení přerušení běžné zpoždění je třeba zvážit, jak moc, která může prodloužit zpoždění. > Stačí použít "NOP" operand? Pokud váš procesor běží na pár megahertz pak možná budete potřebovat více, než NOP se musíte držet paměti programu, takže byste měli používat smyčky. > "WAIT" operand? Záleží, co čekat, instrukce se na paticular procesoru. > Jak vědět, jak dlouho tyto operand byla přijata? Přečtěte si datasheet nebo programovací manuál pro váš procesor / mikrokontroléru.
 
Nejlepší Zpoždění může být použita v mikrokontrolérů jsou hardwarové časovače, přečtěte si o těchto timer, TMR0, TMR1, TMR ... atd., a najdete asi z listu. Věřte mi: D
 
Dohodněte se s poslední dvě odpovědi. Použijte pokud možno μc časovače, snažte se vyhnout posezení v čekání smyčky. Nastavit časovač pro spuštění v backgroung a jít dělat některé další užitečné věci, a časovač přerušení vás.
 

Welcome to EDABoard.com

Sponsor

Back
Top