Gå til innhold

Problemer ved programmering av PIC18F46K20. Forstår ikke koden


Anbefalte innlegg

Hei!

Har nå begynt på en Microchip av typen PIC18

 

2010cow.png

 

Er helt grønn og trenger litt oppstartshjelp

 

Etter å ha fulgt en tutorial har jeg nå fått den ene dioden til å blinke med en delay på 200ms. Kult det, joda, men fortsatt skjønner jeg lite av hva jeg faktisk har gjort som er halve greia. Legger ved bilde av kildekoden.

 

På bildet:

 

Merket med *blå:

*Hva er dette? Fra tutorial:

"Pragma is a directive that has meaning for a specific compiler. It is used

in MPLAB C18 with attributes to convey implementation-dependent

information to the compiler. Here it is used with the config directive,

which defines the states of the PIC18FXXXX Configuration bits."

Klarer du å forklare meg nærmere hva alle disse "Config" linjene gjør?

 

Merket med *rød:

*TRISD = 0b0111111;

TRISD har jeg forstått at er en variabel som gir tilgang til SFR (Special function Registers) og en TRISD bit med verdi 0 setter en pin til å være output og en med verdi "1" setter til input.

Når jeg programmerer chipen med dette så blinker RD7(Se øverste bilde) når denne blir kjørt høy, men jeg får ikke RD6 eller noen av de andre til å kjøre høy isteden for RD7.

 

 

e6zolu.jpg

Kan dere hjelpe meg med noe av dette? Eller Jaffe? :p

Takk

Endret av Ethernet
Lenke til kommentar
Videoannonse
Annonse

Når du programmerer slike løsninger er det fryktelig viktig å kjenne kompilatoren ettersom de har en tendens til å ikke være helt som andre "normale" kompilatorer. Jeg har selv bomma totalt på en ARM kontroller med en kompilator som hadde et utradisjonelt syn på const.

 

Blått:

Jeg kan ikke hjelpe deg med annet enn det du selv har skrevet. #pragma brukes til å gjøre kompilator spesifikke ting. Hva det gjelder her må du neste slå opp i manualen til kompilatoren.

 

Manualen se kap. 2.9

 

Rød:

Har ingen ide, her må det granskes manualer. Jeg finner mange på internett, men vet ikke hvilken som hører til ditt sett. Har du en link til manualen eller kan du laste den opp?

 

Er det en ethernet kontakt jeg ser over teksten til RD6?

Lenke til kommentar

Takk for svar. Jeg har funnet løsningen, though :)

 

Er fortsatt ikke helt med på det blå, men jeg har løst problemet.

Kompilatoren er jeg fornøyd med ! :)

 

 

Nei, det er ikke en Ethernet kontakt du ser, desverre :( Kunne tenkt meg det selv :p Kunne sikkert gjort mye gøy! Det er en RJ-11 ICSP

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...