-
        
+ Antworten
Ergebnis 1 bis 6 von 6

Thema: Anfänger braucht Hilfe beim Ersten Programm

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.10.2004
    Ort
    Hamburg
    Alter
    30
    Beiträge
    106

    Anfänger braucht Hilfe beim Ersten Programm

    Hi wollt mir mal ein erstes Test Programm schreiben und es direkt beim Simulieren testen weil ich noch keinen ISP Dongel für meinen Mega8 habe

    Code:
    $crystal = 4000000
    
    Config Portb = Output
    Do
      Portb = $ff
      Wait 1
      Portb = $00
    Loop
    Warum bleibt der bei dem Wait befehl einfach nur stehen ?? und geht nicht weiter ?? wollt damit mal ein LED blinken Simulieren

    Mfg Maik

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Also ich denke schon, dass es weitergeht und auch das er blinkt, aber das ist vermutlich etwas zu schnell.

    Wenn du dir mal deinen Programmablauf anschaust dann wirst du folgendes feststellen:
    Nachdem der Portb auf ff gesetzt ist wartet der uC eine Sekunde, dann schaltet er portB 00
    dann springt er sofort wieder zurück und setzt ihn ff.

    Probiers mal so:
    Do
    Portb = $ff
    Wait 1
    Portb = $00
    Wait 1
    Loop

    Es ist klar, dass du ein Blinken einer Led, das nur so lang ist, wie der uC zum zurückspringen und neuen setzten des Port braucht nie sehen wirst.

    MFG Moritz

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.10.2004
    Ort
    Hamburg
    Alter
    30
    Beiträge
    106
    Also hab das So ausprobiert wie du das gesagt hast aber es passiert immer noch nichts der Pfeil der mir anzeigt welche zeile er gerade abarbeitet bleibt auch die ganze zeit da(beim ersten wait) stehen.

    Mfg Maik

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.11.2004
    Ort
    Hard, Vorarlberg
    Beiträge
    155
    Ändere das Programm mal auf:
    Code:
    $crystal = 4000000
    
    Config Portb = Output
    Do
      Portb = $ff
      Wait 1
      Portb = $00
      wait 1
    Loop
    Bei der Simulation musst Du noch den Button für "Refresh Variables" aktivieren, damit die LEDs für die Ports im RUN-Modus aktualisiert werden.
    Die Simulation von WAIT-Befehlen dauert in Simulation je nach Rechnergeschwindigkeit um einiges länger als dies der gewünschten Zeitverzögerung entspricht. Also bitte etwas Geduld und nicht während der Ausführung des Wait-Befehls noch einmal auf den Step-Button drücken, da sonst der WAIT-Befehl unterbrochen wird.

    mfg Josef

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.10.2004
    Ort
    Hamburg
    Alter
    30
    Beiträge
    106
    Subba Danke für eure Hilfe
    hab nur nen Echt "schnellen" 300 Mhz Rechner könnte also daran liegen werde mir heut mal nen ISP basteln und das dann mal in ne minimal schaltung testen.


    Mfg Maik

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    18.10.2004
    Ort
    Cottbus
    Beiträge
    38
    Wenn du am Anfang vom Code den Befehl $sim reinschreibst , laufen die die Waits und ähnliches schneller ab.
    Aber aufpassen , wenn Du dann deinen ISP hast vor der übertragung das Sim entfernen , neu compilieren und dann übertragen. Ansonsten kommt vor der übertragung eine Fehlermeldung wenn Sim noch drin steht

    MfG Andreas

+ Antworten

Berechtigungen

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