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

Re: Hilfe für Einsteiger Kategorie: CC-Pro Unit & Appl.Board (von bierbach - 3.05.2013 17:26)
Als Antwort auf Re: Hilfe für Einsteiger von bierbach - 3.05.2013 17:08
Ich nutze:
CC-Pro 128 Application Board, Pro-Bot128
> > > > Hallo, guten Tag. Mein name ist Peter , ich bin 64 Jahre Alt und möchte
> > > > mich mit diesem Board beschäftigen :
> > > > C-Control PRO Evaluation Board Mega 128 9 V/DC Eingänge / Ausgänge 8 Analogeingänge / 6 mit
> > > > je 8 Pins und 1 mit je 5 Pin.
> > > >
> > > > Ist dieses Board beim Kauf mit dem Controller-MEGA128 ?
> > >
> > > Ja.
> > >
> > > > Welcher Forumsteil hier bitte ist genau fĂĽr dieses Board  ?
> > >
> > > Dieses Forum ist richtig.
> > >
> > > >
> > > > Ich lese, das es in Basic Programiert wird und in C.
> > > > Welche Herunterladbare IDE ist fĂĽr das Basic und welche fĂĽr das C ?
> > > > Könnt ihr mir bitte genau einen Link dazu geben.
> > >
> > > Die IDE unterstĂĽtzt C und BASIC. Der Link ist auf der linken Seite vom
> > > Forum (http://www.c-control-pro.de/updates/C-ControlSetup.exe). Die
> > > offizielle Conrad Seite ist temporär down.
> > >
> > > Gruss Peter
> > >
> > > >
> > > > Wo kann ich hier im Forum nachlesen, wie zb ASM-Code mit dem Basic oder C gemsicht werden kann.
> > > >
> > > > Danke.
> > > >
> > > > Gruss
> > > > peter
>
>
> Ich habe unter Hilfe/Compiler/Assembler etwas gefunden.
> Verstehe aber den Zusammenhang nicht wie alles zusammengefĂĽhrt wird.
>
> Kann mn mir das Beispiel dort mal bitte erklären ?
>
> Danke.
>
> Gruss
> peter


Habe hier die CC und die ASM.
Es kommt aber die ganz unten genannte Fehlermeldung .

Diese Datei nenne ich test.asm :
-------------------------------------------------------------
; .def file

.equ glob1 = 2
.define tag1 1
.define tag2 1

; Assembler Source

.ifdef tag1
proc1:
    ; global variable access example
    ; write 42 to global variable glob1
 
    MOVW R26,R8          ; get RamTop from register 8,9
    SUBI R26,LOW(glob1)  ; subtract index from glob1 to get address
    SBCI R27,HIGH(glob1)
    LDI  R30,LOW(42)
    ST   X+,R30
    CLR  R30             ; the high byte is zero
    ST   X,R30
    ret
.endif

.ifdef tag2
proc2:
    ; example for accessing and returning parameter
    ; we have int proc2(int a, float b, byte c);
    ; return a + c
 
    MOVW R30, R10   ; move parameter stack pointer into Z
    LDD R24, Z+5  ; load parameter "a" into R24,25
    LDD R25, Z+6
 
    LDD R26, Z+0  ; load byte parameter "c" into X (R26)
    CLR R27       ; hi byte zero because parameter is byte
 
    ADD R24, R26  ; add X to R24,25
    ADC R25, R27
 
    MOVW R30, R6      ; copy stack pointer from R6
    ADIW R30, 4       ; add 4 to sp  - ADIW only works for R24 and greater
    MOVW R6, R30      ; copy back to stack pointer location
 
    ST   Z+, R24      ; store R24,25 on stack
    ST   Z, R25
 
    ret
.endif
-------------------------------------------------------------------



Diese Datei nenne ich testasm.cc
--------------------------------------------------------------------
// CompactC Source

void proc1 $asm("tag1")(void);
int proc2 $asm("tag2")(int a, float b, byte c);

int glob1;

void main(void)
{
    int a;
    proc1();
    a= proc2(11, 2.71, 33);
}
-----------------------------------------------------------


Nach dem zusammnenfĂĽhren als Projekt und dem compilieren kommt die Fehlermeldung:
-----------------------------------------------------------
Ă?bersetze Projekt testasm
C-Control Pro Compiler (C) 2011  Conrad Electronic
Durchlaufe Pass 1
Durchlaufe Pass 2
2 bytes (4kb:0% - 64kb:0%) globale Variablen
Generiere Bytecode - 115 bytes..
Schreibe Symboldaten - 9007 bytes..
Starte AVRA Assembler
D:C-Control-Propebi-ctestasm.asm(3)  : Error   : Can't redefine constant glob1, use .SET instead
D:C-Control-Propebi-ctestasm.asm(4)  : Error   : Can't redefine constant tag1, use .SET instead
D:C-Control-Propebi-ctestasm.asm(5)  : Error   : Can't redefine constant tag2, use .SET instead
---------------------------------------------------------------
Danke.

Gruss
peter


    Antwort schreiben


Antworten:

Re: Hilfe für Einsteiger (von PeterS - 3.05.2013 19:07)
    Re: Hilfe für Einsteiger (von bierbach - 3.05.2013 19:35)
Re: Hilfe für Einsteiger (von bierbach - 3.05.2013 18:13)
Re: Hilfe für Einsteiger (von bierbach - 3.05.2013 18:12)
Re: Hilfe für Einsteiger (von bierbach - 3.05.2013 18:10)