Sida 3 av 6
Postat: 14 juni 2007, 18:17:25
av Icecap
AN betyder generellt ANaloga funktioner. I en F628A är det komparatorer.
Postat: 14 juni 2007, 20:20:52
av net4all
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.
Postat: 14 juni 2007, 21:49:31
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;
Postat: 15 juni 2007, 00:15:04
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 ?
Postat: 15 juni 2007, 12:16:07
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...
Postat: 15 juni 2007, 12:33:31
av Icecap
Kanske dags för WLAN?
Postat: 15 juni 2007, 12:36:58
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...
Postat: 15 juni 2007, 13:23:12
av net4all
Icecap: har funderat på det, men mamma kommer och klagar på att det blir så mycket strålning
Funderar på att dra en sladd dit ut...
Sodjan:OK! Jag var lite osäker när det gällde adresser i ASM > C
Postat: 15 juni 2007, 14:31:13
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" ??
Postat: 15 juni 2007, 14:39:08
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å?
Postat: 15 juni 2007, 15:03:33
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 ?
Postat: 15 juni 2007, 15:10:43
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.
Postat: 15 juni 2007, 16:24:18
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.
Postat: 15 juni 2007, 16:30:45
av sodjan
I C så är ju "RAM minnes platserna" samma sak som "variablerna"
och dom har ju alltid namn...
Postat: 15 juni 2007, 17:12:05
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å.