Dumma LCD, HJÄLP!

Lysdioder, Optiska sensorer, Fiberoptik, Displayer, Lasrar, Optiska kopplare
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

AN betyder generellt ANaloga funktioner. I en F628A är det komparatorer.
net4all
Inlägg: 538
Blev medlem: 7 februari 2007, 12:06:34

Inlägg av net4all »

Då borde det inte vara dom som krånglar. Jag stänger av dom i början av programmet:

Kod: Markera allt

CM0=1; CM1=1; CM2=1; CM3=1;
Det borde stänga av dom, rätta mig om jag har fel.
Användarvisningsbild
JimmyAndersson
Inlägg: 26578
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Inlägg av JimmyAndersson »

CM3 ? Det finns bara CM0, CM1 och CM2. :)


Sedan kan jag inte den C-dialekten, men för mig ser det konstigt ut att bara skriva så. Jag tycker det borde ha varit:
CMCON, CM0 = 1; CMCON, CM1 = 1; CMCON, CM2 = 1;
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Eller, för att göra det hela skitenkelt, gör som databladet säger !
Eller är inte det tillräckligt "spännande" ?? :-)

CMCON = h'07' (på ett eller annat sätt beroende på verktyg/språk...)

Vad är problemet med metoden som databladet föreslår ?
net4all
Inlägg: 538
Blev medlem: 7 februari 2007, 12:06:34

Inlägg av net4all »

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...
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Kanske dags för WLAN?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> 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):

Kod: Markera allt

  MOVLW   0x07   ;Turn comparators off and
  MOVWF   CMCON  ;enable pins for I/O ;functions
vilket bör bli (på rak arm) ungefär :

Kod: Markera allt

  cmcon = h'07'; eller:
  cmcon = 0x07;  vilket man nu använder i verktyget...
net4all
Inlägg: 538
Blev medlem: 7 februari 2007, 12:06:34

Inlägg av net4all »

Icecap: har funderat på det, men mamma kommer och klagar på att det blir så mycket strålning :roll:
Funderar på att dra en sladd dit ut...

Sodjan:OK! Jag var lite osäker när det gällde adresser i ASM > C
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Adresserna till olika register (FSR'er) är naturligtsvis desamma helt oavsett vad man programmerar med!
De ligger ju fast i själva processorn. Eller hur menar du med "adresser i ASM > C" ??
net4all
Inlägg: 538
Blev medlem: 7 februari 2007, 12:06:34

Inlägg av net4all »

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å?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Frågan måste vara helt hypotetisk !
Nog har du väll tillgång till symboliska namn till alla register !?
Har du något exempel ?
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Alla registernamn är ju redan på plats i och med att följande utförs:
#include "16F628.h"

Alltså är det en helt onödig fråga om inte det är allvarliga fel i compilern.
net4all
Inlägg: 538
Blev medlem: 7 februari 2007, 12:06:34

Inlägg av net4all »

Men tex RAM minnes platserna får väll inget eget namn?
Eller har jag villat bort mig igen?

Var nyss ute till LCDn kopplade bort RA4 och gick igen alla sladdar, men det fungerar fortfarande inte.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

I C så är ju "RAM minnes platserna" samma sak som "variablerna"
och dom har ju alltid namn...
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

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å.
Skriv svar