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

Re: Globale Variablen - komisches Verhalten Kategorie: Programmierung Basic (von J├╝rgen - 30.12.2013 1:50)
Als Antwort auf Re: Globale Variablen - komisches Verhalten von J├╝rgen - 30.12.2013 0:09

> > Hallo Zusammen,
> >
> > nachdem ich mich jetzt in die Sache AVR32 gest├╝rzt habe und alles soweit echt super l├Ąuft ,
> > h├Ąnge ich jetzt an einer Sache, die ich nicht verstehe.
> >
> > Mein Programm - Auszug
> >
> >
> > /*******************************************************************************
> > Testprogramm zum Testaufbau
> > *******************************************************************************/
> >
> > ' Only for the C-Control PRO AVR32
> > #ifdef AVR32
> >
> > #thread 0, 0, 10    ' main thread with task change every 10 * 10ms = 100ms
> > #thread 1, 128, 10  ' thread 1 with 128 Byte RAM & task change 10 * 10ms = 100ms
> >
> >
> >
> > #define TUERSCHALTER 1
> > #define ENDSCHALTERZU 2
> > #define ENDSCHALTERAUF 4
> >
> >
> >
> > ' 500 byte received buffer and 200 byte ring buffer
> > Dim buf(ETH_BUF(500,0)), rbuf(200) As Byte
> >
> > ' Five Webserver variables
> > Dim webmem(WEB_BUF(5)) As Byte
> >
> >
> >
> >
> >
> >  '####### Variablen f├╝r den Ein / AUSgabe Betrieb #####################
> >  'Daten die eingelesen werden
> > Dim somedata(2) As Byte
> >
> >  'Variable f├╝r den Schreibwert - Lesemodus
> >  Dim data(1) As Byte
> >
> >  'Fortlaufender Z├Ąhler
> >  Dim i As Integer
> >
> >  'Variable f├╝r die Ausgabe
> >  Dim e(1) As Byte
> >
> >  'Variable f├╝r den Schreib / Lese status
> >  Dim status As Byte
> >
> >  ' Einlesewert
> >  Dim f As Integer
> >
> >
> >  Dim xyz As Integer
> >
> >
> >
> >
> > Sub main()
> >
> >     '####### Variablen f├╝r den Ethernetbetrieb ###########################
> >      Dim ip As ULong
> >      Dim str(100) As Char
> >      Dim info(5), plen As Word
> >
> >
> >      ' I2C-Bus config to 100kHz speed
> >      I2C_SetSpeed(I2C_100kHz)
> >
> >      .......
> >

> >
> > Wenn ich die Zeile
> > Dim xyz As Integer
> > eintippe und kompliliere kommt keine Fehlermeldung
> > Ich lade das Programm also in den AVR32 und starte es.
> > Leider funktioniert dann meine Ethernetschnittstelle nicht mehr.
> > Also der AVR32 nimmt keine Befehle ├╝ber die Ethernetschnittstelle mehr in empfang.
> >
> > Lasse ich die Zeile weg, l├Ąuft das Programm einwandfrei.
> > Es spielt auch keine Rolle, welchen Variablenname ich w├Ąhle oder
> > welchen Datentype. Sobald ich nur eine weitere Variable als Gloabel
> > definiere dann streikt das Programm.
> >
> > Eigentlich hab ich alles ausgeschlossen, was als Fehler von meiner Seite aus
> > in Frage kommt. K├Ânnte es irgendwie zu ├ťberlappungen im Speicher kommen?
> >
> >
> > F├╝r jeden Tipp dankbar!
> >
> > Gr├╝├če
> > J├╝rgen
>
> jetzt hab ich mal mit Debuggen versucht dem Problem auf die Spur zu kommen.
>
> In meinem Programm, so wie im ersten Post folgt
>
>
> ETH_SetConnBuf(buf, 300, 0)
> ETH_ListenUDP(50000)
>

>
> Bei dieser Zeile h├Ąngt sich die IDE auf.
> -> Keine R├╝ckmeldung
> erst nachdem im auf dem AVR die Reset Taste dr├╝cke
> kommt die IDE wieder zur├╝ck.
>
> ├ťbrigens, lokale Variablen kann ich weitere definieren - ohne Probleme


Ich gebe nicht auf!

Jetzt hab ich alles gel├Âscht. ├ťbrig sind ca. 10 Zeilen Code.
Ich gehe ja immer erst davon aus das ich ein Fehler gemacht habe, aber hier
wei├č ich absolut nicht was ich da falsch gemacht haben k├Ânnte.


/*******************************************************************************
Testprogramm zum Testaufbau
*******************************************************************************/

' Only for the C-Control PRO AVR32
#ifdef AVR32

Dim tester2 As Integer

' 500 byte received buffer and 200 byte ring buffer
Dim buf(ETH_BUF(500,0)), rbuf(200) As Byte


Sub main()

     ETH_SetConnBuf(buf, 500, 0)
End Sub

#else
#error "Only C-Control PRO AVR32-Bit"
#endif


' EOF



Definiere ich den Buffer f├╝r die Ethernetschnittstelle lokal geht es.

H├Ą ?!?!?!


├ťbrigens ist mir aufgefallen wenn ich ein Projekt kompiliere und es ├╝bertrage...
das erste mal funktioniert es
tausche ich im oben genannten Programm nur den Datentype und kompliere nochmal, dann wird
es nicht ├╝bertragen da es angeblich schon ├╝bertragen wurde.


    Antwort schreiben


Antworten: