Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: SRAM mit C programmieren Kategorie: Programmierung C (von Franz-Peter - 8.05.2013 10:59)
Als Antwort auf Re: SRAM mit C programmieren von bierbach - 7.05.2013 22:43
Ich nutze:
C-Control Pro Mega32, C-Control Pro Mega128, CC-Pro 128 Application Board
> > >
> > > > > 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


    Antwort schreiben


Antworten:

Re: SRAM mit C programmieren (von bierbach - 8.05.2013 13:00)
    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)