PIC och IF och liknande Q

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Erik M
Inlägg: 1380
Blev medlem: 23 februari 2012, 18:34:39
Ort: Göteborg

PIC och IF och liknande Q

Inlägg av Erik M »

Någon som kan föreslå var jag kan hitta information om den uppsättning kod som inleds med en #?
Såsom #include, #define, #if etc.

Vänligen
Erik
Senast redigerad av Erik M 10 februari 2016, 10:11:11, redigerad totalt 1 gång.
H.O
Inlägg: 5917
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: PIC # code Q

Inlägg av H.O »

Det är kompilator-direktiv så du hittar sannolikt informationen i dokumentation för den kompilator du använder.
Användarvisningsbild
Klas-Kenny
Inlägg: 11840
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: PIC # code Q

Inlägg av Klas-Kenny »

Men rent allmänt för C, googla typ "C Preprocessor" så hittar du mängder med sidor där det beskrivs.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: PIC # code Q

Inlägg av sodjan »

Eftersom det tydligen är hemligt vad du använder så kan man ju bara nämna:
PIC assembler: "MPASM Assembler, MPLINK Object Linker, MPLIB Object Librarian User’s Guide"
XC8: "MPLAB XC8 C Compiler User’s Guide"

Man undrar ju också var du skulle gissa att det finns beskrivet.
Erik M
Inlägg: 1380
Blev medlem: 23 februari 2012, 18:34:39
Ort: Göteborg

Re: PIC # code Q

Inlägg av Erik M »

Det var bra det, tack.

Om man nu vill använda en logisk IF-sats (bittest), hur gör man det?

Dvs detta funkar:

Kod: Markera allt

IF  TMR0 > 0x13
     BCF    openDoor
ENDIF
Men detta funkar inte:

Kod: Markera allt

IF  GPIO, 0x3 
     BCF    openDoor
ENDIF
Och det oavsett GPIO, 0x3 följt av ==1, =1, >0 etc.
Erik M
Inlägg: 1380
Blev medlem: 23 februari 2012, 18:34:39
Ort: Göteborg

Re: PIC # code Q

Inlägg av Erik M »

Hm... Det blir bättre såhär:

Vad för böcker att lära sig om PIC assembler programmering förordar ni från egna erfarenheter?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: PIC # code Q

Inlägg av sodjan »

> Dvs detta funkar:

Kod: Markera allt

IF  TMR0 > 0x13
     BCF    openDoor
ENDIF
Beskriv med dina egna ord vad du tror att den där koden gör
och vad du menar med "funkar".

EDIT:

En liten hint. Det där kan även skrivas (på en PIC16F628A) som

Kod: Markera allt

IF  0x01 > 0x13
     BCF    openDoor
ENDIF
Det kommer aldrig att vara "sant" och det har inte ett smack
med värdet av Timer0 i processorn att göra...

EDIT2:

En till "hint"... Kom ihåg att IF/ENDIF utförs av *MPASM*.
*Inte* av processorn, om du nu trodde det (det ser ut så).
Erik M
Inlägg: 1380
Blev medlem: 23 februari 2012, 18:34:39
Ort: Göteborg

Re: Var hittar jag info om kompilatordirektiv?

Inlägg av Erik M »

Hur ska det skrivas för att fungera...

...med XC8?

...med MPASM?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: PIC och IF och liknande Q

Inlägg av sodjan »

Vad ska skrivas för att fungera hur?
IF och #IF fungerar väl som det är?
Och som det är dokumenterat?

Det är bättre att visa något som du tycker att det borde
fungera men som inte gör det än att ställa RTFM frågor.

Både MPASM och XC8 har utmärkta manualer där detta
beskrivs tydligt med exempel.
Erik M
Inlägg: 1380
Blev medlem: 23 februari 2012, 18:34:39
Ort: Göteborg

Re: PIC och IF och liknande Q

Inlägg av Erik M »

Vad för böcker att lära sig om PIC assemblerprogrammering förordar ni från egna erfarenheter?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: PIC och IF och liknande Q

Inlägg av sodjan »

Det finns ju flera bättre eller sämre "tutorials" på nätet.
Många tenderar att vara ganska omoderna dock.

Manualen från Microchip har ju kapitel som "Overview", "Introduction" o.s.v.

Enklast är nog bara att "dyka i" och vifta med armarna om det blir problem... :-)
Användarvisningsbild
swesysmgr
Inlägg: 14939
Blev medlem: 28 mars 2009, 06:56:43
Ort: Göteborg

Re: PIC och IF och liknande Q

Inlägg av swesysmgr »

Erik M skrev:Vad för böcker att lära sig om PIC assemblerprogrammering förordar ni från egna erfarenheter?
https://www.studentlitteratur.se/#97891 ... ed+systems

Samma bok som tidigare upplaga på Svenska men uppdaterad där den ålderdomliga PIC16F84 bytts ut mot 16F818 och 18F4580 används för CAN/C delarna.

Växlar över till C när assemblerprogrammen blir otympligt stora (mer än ett par hundra rader).
Erik M
Inlägg: 1380
Blev medlem: 23 februari 2012, 18:34:39
Ort: Göteborg

Re: PIC och IF och liknande Q

Inlägg av Erik M »

Tackar. :tumupp:
Skriv svar