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 bierbach - 7.05.2013 22:43)
Als Antwort auf Re: SRAM mit C programmieren von bierbach - 7.05.2013 18:20
Ich nutze:
CC-Pro 128 Application Board, Pro-Bot128
> >
> > > > 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


    Antwort schreiben


Antworten:

Re: SRAM mit C programmieren (von Franz-Peter - 8.05.2013 10:59)
    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)