PIC programmering

Feb 09, 2012 5 Replies

Hejsa



Jeg er begyndt p=E5 PIC programmering efter nogen tid, og har et lille problem:



movlw 221 ; skulle l=E6se 221 (decimalt) til W



men:



Warning[202] MAIN.ASM 15 : Argument out of range. Least significant bits used.



hvad er galt her?



Sonnich


Du skal skrive movlw d'221'

Bo //

Er der nogen tal der kan skrives enkelt?

Der kan sættes et compiler/assembler diriktiv hvor du kan vælge hvilken talsystem der skal bruges som standard - Det burde svjh være decimalt som default men kan sagtens være stillet til f.eks hexadecimalt.

/Lars

Mener hvis der ikke er angiver som hex, dec, bin , ascii så syntes mplab at det er værdien for din ram addresse 221 den prøver at loade ind

Forstår ikke ordet "enkelt" i denne sammenhæng. Der er defineret en syntax for assemblerkoden, og den skal blot overholdes :-)

hvis du skriver 221 er det ramadresse 221, og med em movlw, kan man ikke hente det, der står i ramcelle 221

Derfor opgiver man det som '221' Du kan angive radix som et assemblerdirektiv, og derefter er det det, der bruges hvis du IKKE skriver andet. ex radix hex

du kan osse opgive et hextal som 0xab

Du kan læse mere om det på side 42 i assembler reference manualen ww1.microchip.com/downloads/en/DeviceDoc/33014j.pdf

Bo //

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required