OK.
Kontentan är alltså att du måste vara mycket tydligare när du beskriver det du gör och
vad som händer. Vi har ingen kristallkula här som talar om för oss det som du utelämnar.
Är följande korrekt uppfattat :
- Att öppna ett befinligt projekt i "lessons" går helt OK inkl "build" och programmering av labb-kortet ?
- Du har problem med att skapa ett *eget* projekt från scratch ?
I så fall är det ju ett helt annat och klarare läge.
Har du kollat min guide till att skapa ett nytt projekt ?
> Jag skapade ett nytt projekt och kopierade in koden från en lesson
Koden som du visat var felformatterad. Hur har du "kopierat"? Nu så fick du aldrig några
fel eftersom du aldrig körde någon Build på det och assembleringen alltså aldrig gjordes.
> Jag skall testa mig fram med C och se vart jag hamnar
Det är bara en skillnad i "språk" på koden. Du kommer inte att komma mycket längre
om du inte förstår hur verktygen fungerar.
Innan du gör något alls annat så borde du se till att du till fullo förstår i alla fall 3-4 st
av de exempel som ingår i "lessons". D.v.s *hela* koden och exakt hur programmen
fungerar. De är bara på några tiotal rader.
> Jodå vill du programmera i C så kan du redan hälften
Det är en kraftig och felaktig förenkling. Att få kod på en mikrokontroller att fungera
har mer med att förstå hur en mikrocontroller fungerar än att kunna det ena eller
det andra språket. Att försöka med C *enbart* för att man inte får enkla testprogram
att fungera är att lura sig själv.
> Jag upptäckte att jag har missat ett kolon efter "start" i koden som jag skrev ovan. Det är nog detta som ställer till det.
Nej, det är det inte, kolon behövs inte efter "labels". Det fungerar dock även med kolon om
tycker att det ser bättre ut så. Men som koden ser för övrigt ut så kan den aldrig fungera.
Här är en fungerande variant av samma kod.
Kod: Markera allt
#include <p16F690.inc>
__config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOD_OFF & _IESO_OFF & _FCMEN_OFF)
org 0
Start
BSF STATUS,RP0
BCF TRISC,0
BCF STATUS,RP0
BSF PORTC,0
GOTO $
end
Sen så borde det skrivas ("snyggare" och använder banksel):
Kod: Markera allt
#include <p16F690.inc>
__config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOD_OFF & _IESO_OFF & _FCMEN_OFF)
org 0
Start
banksel trisc
bcf trisc,0
banksel portc
bsf portc,0
loop
goto loop
end
Personligen föredrar jag att köra med "Disable case sensitivity" i Build Options för projektet.