Re: SRAM mit C programmieren Kategorie: Programmierung C (von bierbach - 8.05.2013 13:00) | ||
Als Antwort auf Re: SRAM mit C programmieren von Franz-Peter - 8.05.2013 10:59 | ||
| ||
> > > > > > > > > > Hallo, guten Tag. > > > > > > Wer kann mir diesen "C-Code" mal umsetzen in dem "C-Code" von der C-Control Pro mit M128? > > > > > > Es zeigt, wie man das extern SRam vom Mege128 lesen und beschreiben kann: > > > > > > > > > > > > ---------------------------------------------------------------------------------------------- > > > > > > Initialisierung: > > > > > > > > > > > > MCUCR |= (1 << SRE); external RAM enable > > > > > > XMCRA |= (1 << SRW00) | (1 << SRW01) | (1 << SRW11); Waitstates enable > > > > > > XMCRB |= (0 << XMM0) | (0 << XMM1) | (0 < XMM2); Alle Addressleitungen > > > > > > gueltig > > > > > > > > > > > > Zugriff: > > > > > > unsigned char *p,v; > > > > > > p = 0x2000; Gewuenschte RAM Addresse 0x12000 ist nur Beispiel > > > > > > *p = 0x55; Schreiben ins RAM > > > > > > v = *p; Lesen aus dem RAM > > > > > > ---------------------------------------------------------------------------------------------- > > > > > > > > > > > > Danke. > > > > > > > > > > > > Gruss > > > > > > peter > > > > > > > > > > > > > > > > > > > > > Es kommen viele Fehlermeldungen , ich dachte in "C" wäre es Kompatibel : > > > > > --------------------------------------------------- > > > > > void main(void) > > > > > { > > > > > MCUCR |= (1 << SRE) ; > > > > > XMCRA |= (1 << SRW00) | (1 << SRW01) | (1 << SRW11) ; > > > > > XMCRB |= (0 << XMM0) | (0 << XMM1) | (0 < XMM2) ; > > > > > > > > > > unsigned char *p,v ; > > > > > p=0x2000 ; > > > > > *p=0x55 ; > > > > > v=*p; > > > > > } > > > > > ----------------------------------------------------- > > > > > > > > > > �bersetze Projekt sram > > > > > C-Control Pro Compiler (C) 2011 Conrad Electronic > > > > > Durchlaufe Pass 1 > > > > > D:C-Control-Propebi-ccsramsram.cc(4,11): Syntax Fehler - unerwartetes Symbol: '|=' > > > > > D:C-Control-Propebi-ccsramsram.cc(4,23): Syntax Fehler - erwartete ';' , gefunden ')' > > > > > D:C-Control-Propebi-ccsramsram.cc(5,11): Syntax Fehler - unerwartetes Symbol: '|=' > > > > > D:C-Control-Propebi-ccsramsram.cc(5,25): Syntax Fehler - erwartete ';' , gefunden ')' > > > > > D:C-Control-Propebi-ccsramsram.cc(6,11): Syntax Fehler - unerwartetes Symbol: '|=' > > > > > D:C-Control-Propebi-ccsramsram.cc(6,24): Syntax Fehler - erwartete ';' , gefunden ')' > > > > > D:C-Control-Propebi-ccsramsram.cc(8,19): Syntax Fehler - erwartete 'Symbolnamen' , gefunden '*' > > > > > D:C-Control-Propebi-ccsramsram.cc(10,5): Syntax Fehler - erwartete '}' , gefunden '*' > > > > > D:C-Control-Propebi-ccsramsram.cc(10,7): Syntax Fehler - unerwartetes Symbol: '=' > > > > > D:C-Control-Propebi-ccsramsram.cc(11,6): Syntax Fehler - unerwartetes Symbol: '=' > > > > > D:C-Control-Propebi-ccsramsram.cc(11,9): Syntax Fehler - unerwartetes Symbol: ';' > > > > > 11 Fehler - Kompilation abgebrochen. > > > > > Schreibe Symboldaten - 8903 bytes.. > > > > > > > > > > Wie kann ich den Zeiger ersetzen und wie dise Symbole : '|=' ? > > > > > > > > > > Danke. > > > > > > > > > > Gruss > > > > > peter > > > > > > > > Wo finde ich die Liste für die Pinbezeichnung, damit ich die in CC benutzen kann: > > > > zb : MCUCR |= (1 << SRE) > > > > > > > > Danke. > > > > > > > > Gruss > > > > peter > > > > > > So ich habe jetzt mal weiter geforscht und dieses in der WinAVR-C gefunden : > > > #define MCUCR _SFR_IO8(0x35) > > > #define XMCRB _SFR_MEM8(0x6C) > > > #define XMCRA _SFR_MEM8(0x6D) > > > #define SRW00 2 > > > #define SRW01 3 > > > #define SRW11 1 > > > #define XMM2 2 > > > #define XMM1 1 > > > #define XMM0 0 > > > #define SRE 7 > > > > > > > > > Nur wie setze ich das für einen Aufruf um ? > > > #define MCUCR _SFR_IO8(0x35) > > > #define XMCRB _SFR_MEM8(0x6C) > > > #define XMCRA _SFR_MEM8(0x6D) > > > > > > > > > Danke. > > > > > > Gruss > > > peter > > > > > > > > So ich bin wieder etwas weiter : > > ---------------------------------------------------------------- > > void MCUCR $opc(0x35)(void); > > void XMCRB $opc(0x6C)(void); > > void XMCRA $opc(0x6D)(void); > > #define SRW00 2 > > #define SRW01 3 > > #define SRW11 1 > > #define XMM2 2 > > #define XMM1 1 > > #define XMM0 0 > > #define SRE 7 > > > > void main(void) > > { > > unsigned char *p,v ; > > MCUCR = MCUCR |(1 << SRE) ; > > XMCRA = XMCRA |(1 << SRW00) | (1 << SRW01) | (1 << SRW11) ; > > XMCRB = XMCRB | (0 << XMM0) | (0 << XMM1) | (0 < XMM2) ; > > > > > > p=0x2000 ; > > *p=0x55 ; > > v=*p ; > > } > > --------------------------------------------------------------------------- > > > > Jetzt kommen noch Fehler beim Pointer. > > Ist der Code dann so lauffähig ? > > Vielleich gibt es hier CC-Kenner für den M128-Pro ? > > > > > > Danke. > > > > Gruss > > peter > > > Hallo Peter, > vielleicht solltest Du auch mal die Doku lesen, bevor Du hier das Forum bombardierst. > In der Hilfe steht gleich am Anfang zum CompactC Compiler, dass er u.a. keine Zeiger unterstützt. > Franz-Peter Wer hat hier dann dafür eine Ausweichlösung ? Statt der Zeiger. Gruss | ||
Antwort schreiben Antworten: Re: SRAM mit C programmieren (von PeterS - 8.05.2013 13:47) Re: SRAM mit C programmieren (von bierbach - 8.05.2013 14:40) Re: SRAM mit C programmieren (von PeterS - 8.05.2013 14:54) Re: SRAM mit C programmieren (von bierbach - 8.05.2013 15:55) Re: SRAM mit C programmieren (von bierbach - 8.05.2013 17:23) Re: SRAM mit C programmieren (von bierbach - 8.05.2013 17:28) Re: SRAM mit C programmieren (von PeterS - 8.05.2013 18:38) Re: SRAM mit C programmieren (von bierbach - 8.05.2013 20:19) Re: SRAM mit C programmieren (von PeterS - 8.05.2013 16:27) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum