MPASM Float Variabelen

L

Lord Loh.

Guest
Ik probeer het schrijven van een code met macro's die onafhankelijk is van de kristal frequentie.Ik probeer te schrijven vertraging routines zodanig dat door eenmaal met vermelding van de kristal frequentie als
Code:Xtal EQU 8

 
Hoi,
Ik wil u vertellen dat zuivere intercommunales niet toestaan divisies en vermenigvuldiging!U wilt leren wat code te hanteren dat.
tweede, in ur probleem, ik denk dat u beter moet veranderen ur code om integer waarden gebruiken in plaats van zweven Ones.
wanneer u wilt me vertellen wat u're proberen te doen met deze 'istructionperiod' en LL i 'vertellen u hoe u ur aanpak te veranderen.
Opmerking: Dit is nuttig omdat het vermijden van divisies en mult in PIC-programmatie: minimaliseert de real-time beperkingen; voorkomen verlies van gegevens; minimaliseert de code maat ...

 
Ik probeer niet te verdelen en multiplty een PIC gebruikt.Ik probeer te verdelen en multipy MPASM gebruikt.

Kan me niet schelen als de code montage tijd stijgt met een paar milliseconden.Ik wil mijn code kristal onafhankelijk te maken.Al de programmeur zal moeten doen is ingesteldCode:

Xtal = x (MHz
 
Hoi,
wanneer u opnieuw met MPASM voeren hoe heeft u:
instructionperiod = 4/XTAL
in ASM, hebben u did it right?
bovenstaande formule is geen geldig asm instructie!
meer details.

 
Hoi,

Ik doe dit soort dingen veel in MPASM, maar ik denk dat je mis begrijpen over de vlotter.

MPASM maakt alleen gebruik van het type integer-waarden van 24, 16, of 8 bits dat ik ben me bewust van.Je moet voorzichtig zijn, want het zal afgeplat.

instructionPeriod EQU 4 / 8

is hetzelfde als

instructionPeriod EQU 0

Dit is een betere manier om dingen te doen.Stel dat je wilt vertraging door 100 ons en de XTAL was 8 MHz.Het aantal cycli instructie je zou vertraging is:

100 * 8 / 4 = 200

in plaats daarvan doen het op deze manier

Code:

XTAL EQU 8

variabele vertraging, delayCycle

vertraging = 100

delayCycle = (vertraging * XTAL) / 4
 

Welcome to EDABoard.com

Sponsor

Back
Top