- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 6 von 6

Thema: Bascom Bug bei langer Zeichenkette über RS232

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    19.08.2006
    Ort
    Kitzscher
    Alter
    45
    Beiträge
    237

    Bascom Bug bei langer Zeichenkette über RS232

    Anzeige

    Praxistest und DIY Projekte
    Hallo

    ich habe ein Problem und komme nicht weiter ich kann meine Messwerte nicht mit einem Trennzeichen versehen das führt bei Bascom zu einem schwerem Fehler :

    Access violation at address 009081D6 in module 'BASC-AVR.DLL' Read of address 000E0000.

    Alles was ich gemacht habe ist eine RS232 Zeichenkette zu bilden und diese per USB mit dem RN-Mega2560 zu verschicken.

    Hier ist die Zeichenkette diese funktioniert in dieser Länge nicht wenn man die Zeichenkette aber halbiert dann funktioniert es.


    Code:
    Print #4 , ";" ; Volt_a_2kommastellen ; ";" ; Volt_b_2kommastellen ;";" ; Volt_c_2kommastellen ;";" ; Volt_d_2kommastellen ;";" ; Volt_e_2kommastellen ; ";" ;Volt_f_2kommastellen ;";" ; Volt_g_2kommastellen ; ";" ;Volt_h_2kommastellen ; ";" ;Volt_i_2kommastellen ;";" ; Volt_j_2kommastellen ;";" ; Volt_k_2kommastellen ;";" ; Volt_l_2kommastellen ;";" ; Volt_m_2kommastellen ;";" ; Volt_o_2kommastellen ;";" ; Volt_p_2kommastellen

    Wenn ich die Zeichentrenner rausnehme also ohne ";" arbeite funktioniert es ebenfalls ?!

    Es ist zum verrückt werden ich bekomme keine Zeichentrenner zwischen die Messwerte.

    Ich habe auch schon versucht noch irgendwie das Semikolion zu kombinieren mit einer Variable aber ich habe es nicht hinbekommen. Etwas in der art: variable & ";" funktioniert nicht

    Kennt jemand eine Lösung ??


    Danke und Gruß
    Steffen

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    19.08.2006
    Ort
    Kitzscher
    Alter
    45
    Beiträge
    237
    ich glaube ich habe erstmal eine taugliche Lösung :

    Code:
    Print #4 , ";" ;
    Print #4 , Volt_a_2kommastellen ;
    Print #4 , ";" ;
    Print #4 , Volt_b_2kommastellen;
    Print #4 , ";" ;
    Print #4 , Volt_c_2kommastellen ;
    Print #4 , ";" ;
    Print #4 , Volt_d_2kommastellen ;
    Print #4 , ";" ;
    Print #4 , Volt_e_2kommastellen ;
    Print #4 , ";" ;
    Print #4 , Volt_f_2kommastellen ;
    Print #4 , ";" ;
    Print #4 , Volt_g_2kommastellen ;
    Print #4 , ";" ;
    Print #4 , Volt_h_2kommastellen ;
    Print #4 , ";" ;
    Print #4 , Volt_i_2kommastellen ;
    Print #4 , ";" ;
    Print #4 , Volt_j_2kommastellen ;
    Print #4 , ";" ;
    Print #4 , Volt_k_2kommastellen ;
    Print #4 , ";" ;
    Print #4 , Volt_l_2kommastellen ;
    Print #4 , ";" ;
    Print #4 , Volt_m_2kommastellen ;
    Print #4 , ";" ;
    Print #4 , Volt_n_2kommastellen ;
    Print #4 , ";" ;
    Print #4 , Volt_o_2kommastellen ;
    Print #4 , ";" ;
    Print #4 , Volt_p_2kommastellen ;
    Print #4 , ";" ;
    Print #4 ,                                                  'und nun einen Zeilenumbruch erzeugen

    Dieser Schreibweise ist zumindest erstmal übersichtlicher und scheint auch bis jetzt reibungslos zu gehen.

    Ob das Obige beschriebene Verhalten ein Bug ist würde ich trotzdem gerne wissen.

    Gruß
    Steffen

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.03.2005
    Ort
    Ulm
    Alter
    37
    Beiträge
    519
    Deine Untere Lösung hätte ich jetzt auch vorgeschlagen.
    Ich würde jetzt spontan vermuten, dass Bascom mit so vielen getrennten(!) Zeichenketten innerhalb einer Print-Anweisung nicht zurecht kommt.

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    19.08.2006
    Ort
    Kitzscher
    Alter
    45
    Beiträge
    237
    die andere Lösung ist optisch wirklich um Meilen besser aber was denkst du wie mir das Herz stehen geblieben ist wo Bascom den schwerwiegenden Fehler angezeigt hat und danach abgestürtzt ist.

    Interressant wäre zu wissen ob das ein Globaler Bug ist der für alle µC gilt oder ob nur der ATMEGA2560 betroffen ist.

    Naja vieleicht hat ja jemand mal Lust seinen ATmega8 oder 32 mal mit einem langem RS232 String zu beflashen.

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.01.2005
    Ort
    hessen
    Alter
    36
    Beiträge
    1.101
    hallo

    doch Bascom kommt damit eigentlich klar habe es mit einer noch längeren kette am laufen klappt eigentlich soweit prima.


    nur letztens habe ich auch gemerkt das er bei einem neu geschrieben Programm das auch an gemekert hatte aber jetzt mittlerweile klappts wieder warum auch immer

    gruß
    patrick

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    19.08.2006
    Ort
    Kitzscher
    Alter
    45
    Beiträge
    237
    vieleicht ist es auch nur ein Problem der aktuellen Version.
    Ich hab schon die neuste Demo am laufen aber was solls Bug ist Bug.

    Glaube das ist die 11.8.3 oder so. Zumindst ist es glaube die erste Version wo mein ATMEGA2560 unterstütz wird und das will schon heißen das es mit sicherheit noch ein paar Bugs hat.

    Naja man soll nicht mecker wenn doch alles geht ... und mit Bascom komm ich gerade so gut klar

    PS.: ok es geht nicht wirklich alles die Register für das allzuschöne RC5 Empfangen sind anders und ich habe es noch nicht geschafft das anzugleichen und werde es wohl auch nie schaffen \/

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress