-         

Ergebnis 1 bis 9 von 9

Thema: waitms funktioniert GARNICHT

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.06.2006
    Alter
    26
    Beiträge
    113

    waitms funktioniert GARNICHT

    Anzeige

    Hallo, habe hier ein STK300 von Kanda und ein Problem bei der Programmierung in Bascom:

    Wenn ich waitms benutze, bleibt an dieser stelle der Programmcode einfach stehen, selbst wenn ich waitms auf 1 stelle:

    Code:
    $regfile = "m128def.dat"
    $crystal = 8000000
    $baud = 9600
    Config Portb = Output
    
    Portb.1 = 1
    Waitms 100
    Portb.1 = 0
    Hat jemand eine Idee wodran es liegen koennte? Auch "Print" funktioniert nicht, da scheint irgendwas mit dem timing nicht in ordnung zu sein, auch die umstellung von internen auf externen quarz hat nichts gebracht.. bin echt "Hilflos".. evtl habt ihr ja ideen.

    Gruß,

    wanderer
    Stell dir vor es ist krieg - und keiner geht hin.
    Gewinner des Roboterwettbewerbs "Zukunft durch Innovation" des Bundeslandes NRW in Aachen.

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    06.11.2006
    Ort
    Lörrach
    Alter
    48
    Beiträge
    24
    Wenn das ger ganze Code ist, das kann so nicht gehen. Bitte mal den gesamte Code posten.

    Udo

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    05.09.2006
    Beiträge
    644
    Hi,

    waitms bedeutet warte millisekunden, wenn du 100 oder 1 hast ist das fast nicht zu sehen, stelle den Wert mal auf 1000 oder einfach auf wait 1. Steuerst du eine LED an ?

    Viele Grüße
    mfg Jonas

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    26
    Beiträge
    3.467
    Bei waitms 100 sieht man gerade so eine kurzzeitige Anderung.

    Du musst das:
    Portb.1 = 1
    Waitms 100
    Portb.1 = 0
    noch in eine Do-Loop Schleife packen und ein "End" am Ende des Codes hinzufügen.

    Sollte dann so aussehen:
    Code:
    $regfile = "m128def.dat"
    $crystal = 8000000
    $baud = 9600
    Config Portb = Output
    
    do
    Portb.1 = 1
    Waitms 100
    Portb.1 = 0
    loop
    
    End
    jon
    Nice to be back after two years
    www.roboterfreak.de

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    do
    Portb.1 = 1
    Waitms 100
    Portb.1 = 0
    loop
    oder für Faule:

    do
    toggle portb.1
    Waitms 100
    loop

    An sonsten, mal die Standardeinstellungen kontrollieren:
    Mega 103 Kompatibilitäsmodus ausgeschaltet ?
    JTAG aus ?
    Quarz richtig ?





    Gruß
    Christopher

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.01.2004
    Beiträge
    2.441
    do
    Portb.1 = 1
    Waitms 100
    Portb.1 = 0
    loop
    Der Port wird auf 0 gesetzt, die Schleife springt zurück und setzt den Prot sofort wieder auf 1 ...
    Bei einer Taktfrequenz von 8 MHz würde ich ehrlich gesagt nicht erwarten, dass man von dem Wechsel viel sehen kann - ein gleichmässiges Blinken ganz bestimmt nicht.

    oder für Faule:

    do
    toggle portb.1
    Waitms 100
    loop
    Nicht nur "fauler" - auch sinnvoller, weil der Port hier jeweils 100ms in einem Zustand bleibt bevor er wieder umgeschaltet wird.

    Wenn man das mit einer LED kontrollieren will, muss man allerdings immer noch recht schnell "gucken" können

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.07.2004
    Beiträge
    138
    Hallo, diese Variante funktioniert noch nicht so wie sie soll, auch nach dem Ausschalten muss eine Wartezeit vorgegeben werden.

    DO
    Portb.1 = 1
    Waitms 100
    Portb.1 = 0
    waitms 100 <- HIER!
    LOOP

    Die Variante mit TOGGLE müsste dagegen funktionieren, weil nach jeder Änderung des Schaltzustands gewartet wird.

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.06.2006
    Alter
    26
    Beiträge
    113
    Nein das mit der Schleife ist es nicht (Hatte es schon mit schleifen und allem versucht)
    JTAG brauche ich, aber den 103er Modus versuche ich mal zu deaktivieren, danke bis hierhin, melde mich gleich wieder.
    Stell dir vor es ist krieg - und keiner geht hin.
    Gewinner des Roboterwettbewerbs "Zukunft durch Innovation" des Bundeslandes NRW in Aachen.

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.06.2006
    Alter
    26
    Beiträge
    113
    Jaaa Es war der kompatibilitäts Modus! Vielen dank, ging ja schön schnell
    Stell dir vor es ist krieg - und keiner geht hin.
    Gewinner des Roboterwettbewerbs "Zukunft durch Innovation" des Bundeslandes NRW in Aachen.

Berechtigungen

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