-         

Ergebnis 1 bis 9 von 9

Thema: Problem mit Sub in Bascom

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.03.2006
    Ort
    WOB
    Beiträge
    630

    Problem mit Sub in Bascom

    Anzeige

    Hi,

    ich habe gerade mit einem MCP2510 kommuniziert. Und weil das so toll war wollte ich eine Subroutine draus machen.

    ich habe sie mit: Declare Sub Spi_write(byval Command As Byte , Byval Reg_add As Byte , Byval Reg_cont As Byte) definiert

    und rufe sie ganz unten auf. Das Problem ist folgendes: Wenn ich Spi_send_buff(1) = &H02 statt Spi_send_buff(1) = Command schreibe (was nicht den Sinn der Sub erfüllen würde) funktioniert es! An der SPI kommunikation liegt es nicht. Habe ich ein Fehler beim deklarieren der Sub gemacht? Der Prozessor kommt bis zu der Zeile wo er eine 4 schreibt, scheinbar kann er mit den Variablen SPIout nicht ausführen. Ich weiß aber nicht was daran falsch sein sollte
    Angehängte Dateien Angehängte Dateien
    Gruß Thomas \/

    Alles über AVR, PIC und CAN
    blog.cc-robotics.de

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hallo,

    schau mal auf dieser Seite:
    http://www.roboternetz.de/wissen/ind.../Bascom_Inside
    ich glaub Du musst diese Werte etwas erhöhen, damit die Sub Platz hat die Daten zu verwalten die darin verwendet werden.

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Jau, da müssen die Stacks hochgestellt werden. Das sollte man bei komischem Verhalten des Programms immer als erstes machen.

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.03.2006
    Ort
    WOB
    Beiträge
    630
    danke für die Antworten, aber wenn ich unter $crystal = 2000000

    Code:
    $swstack = 32   
    $hwstack = 32
    schreibe, sagt bascom: assignment error

    er erkennt den befehl auch nicht als blau und in der Hilfe ist es auch nicht zu finden.
    liegt das an bascom, am Mega32, oder ???

    Aber ich kann die entsprechenden Größen in den compiler options eintragen, das Programm funzt, danke schonmal. Nur es wäre schon sinnvoller die Befehle in den code zu schreiben oder?
    Gruß Thomas \/

    Alles über AVR, PIC und CAN
    blog.cc-robotics.de

  5. #5
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Welchen Chip hast du denn definiert ? ($regfile= xxxxxx.DAT) ?
    Wenn das irgendein mini-wuzi-tiny ohne SRAM ist, hätte der Bascom recht.

    Anderenfalls stelle zumindest deine ersten 10 Zeilen Code da rein, daß man gucken kann. (aber orignal, ohne Bearbeitung)
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.03.2006
    Ort
    WOB
    Beiträge
    630
    reicht dir denn meine komplette datei nicht aus? (1. post)
    Gruß Thomas \/

    Alles über AVR, PIC und CAN
    blog.cc-robotics.de

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.01.2008
    Beiträge
    164
    $swstack = 32
    $hwstack = 32

    machen ältere versionen nicht im programmcode, musste im untermenu angeben.

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    09.05.2007
    Beiträge
    202
    Hallo Thomas,

    du hast die Variablen, die du bei der Deklaration der Sub angibst, oben ja schon mit gleichem Namen deklariert.
    Probier doch mal, die Deklaration einfach auszukommentieren.
    Gruß, Stefan

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    43
    Beiträge
    2.240
    bei:

    Dim Command(1) As Byte
    Dim Reg_add(1) As Byte
    Dim Reg_cont(1) As Byte

    kannste Dir sowieso die "(1)" schenken
    Variablennamen möglichst nicht doppelt verwenden
    Vor den Erfolg haben die Götter den Schweiß gesetzt

Berechtigungen

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