Dumma LCD, HJÄLP!
Då borde det inte vara dom som krånglar. Jag stänger av dom i början av programmet:
Det borde stänga av dom, rätta mig om jag har fel.
Kod: Markera allt
CM0=1; CM1=1; CM2=1; CM3=1;
- JimmyAndersson
- Inlägg: 26578
- Blev medlem: 6 augusti 2005, 21:23:33
- Ort: Oskarshamn (En bit utanför)
- Kontakt:
Problemet är att exemplen i bladet är i ASM....
JimmyAndersson: Ska testa det där.
Helt off topic:
Jobbigt när labbrummet ligger i ett uthus, springer fram och tillbaka mellan huset(som har internet) och labbrummet som inte har internet:evil:
Får inte labba med dom moderna datorerna vi har inomhus, pappa är rädd att jag ska koppla fel och bränna datorn...
JimmyAndersson: Ska testa det där.
Helt off topic:
Jobbigt när labbrummet ligger i ett uthus, springer fram och tillbaka mellan huset(som har internet) och labbrummet som inte har internet:evil:
Får inte labba med dom moderna datorerna vi har inomhus, pappa är rädd att jag ska koppla fel och bränna datorn...
> Problemet är att exemplen i bladet är i ASM....
Jo, men har man nu valt att köra med något annat så får man
också lära sig hur man "översätter" ASM exempel till det man
nu har vatl att köra. I detta fall är det alltså raderna (direkt plockade
från sodan om PORTA i databladet (example 5-1, sidan 31):vilket bör bli (på rak arm) ungefär :
Jo, men har man nu valt att köra med något annat så får man
också lära sig hur man "översätter" ASM exempel till det man
nu har vatl att köra. I detta fall är det alltså raderna (direkt plockade
från sodan om PORTA i databladet (example 5-1, sidan 31):
Kod: Markera allt
MOVLW 0x07 ;Turn comparators off and
MOVWF CMCON ;enable pins for I/O ;functions
Kod: Markera allt
cmcon = h'07'; eller:
cmcon = 0x07; vilket man nu använder i verktyget...
Jag är osäker på hur man lägger in ett värde i ett register, tex:
I C har många register fått namn tex TRISA, vad jag inte viste var hur man skrev om registret inte hade fått något sådant namn, utan bara hade sitt hexadecimala namn.
Om jag vill komma åt ett register som har ett hexadecimalt namn hur skriver jag då?
I C har många register fått namn tex TRISA, vad jag inte viste var hur man skrev om registret inte hade fått något sådant namn, utan bara hade sitt hexadecimala namn.
Om jag vill komma åt ett register som har ett hexadecimalt namn hur skriver jag då?
Deklarerar du t.ex.
'unsigned char Mine_Array[5];'
har du tillgång till dessa 5 minnesplatser enl:
Mine_Array[0]
Mine_Array[1]
Mine_Array[2]
Mine_Array[3]
Mine_Array[4]
Deklarerar du:
int The_Big_One;
kan du använda den variabel vid att ange namnet:
'The_Big_One = 3;'
int Counter;
for(Counter = 0;Counter < 10;Counter++)
{
}
Osv. osv.
Det är ytterst sällsynt att behöva adressera en minneslokation utan att antingen ha namn eller annan referens på den, jag använder det dock i ett gammal projekt där jag sparade statistik i en "överbliven" FLASH-bank i processorn men även där deklarerade jag till slut ett namn till det minnesarea då det var enklast så.
'unsigned char Mine_Array[5];'
har du tillgång till dessa 5 minnesplatser enl:
Mine_Array[0]
Mine_Array[1]
Mine_Array[2]
Mine_Array[3]
Mine_Array[4]
Deklarerar du:
int The_Big_One;
kan du använda den variabel vid att ange namnet:
'The_Big_One = 3;'
int Counter;
for(Counter = 0;Counter < 10;Counter++)
{
}
Osv. osv.
Det är ytterst sällsynt att behöva adressera en minneslokation utan att antingen ha namn eller annan referens på den, jag använder det dock i ett gammal projekt där jag sparade statistik i en "överbliven" FLASH-bank i processorn men även där deklarerade jag till slut ett namn till det minnesarea då det var enklast så.