-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: [Hilfe?] Wo ist der Fehler?+

  1. #1

    [Hilfe?] Wo ist der Fehler?+

    Anzeige

    Hallo!
    Ich hab jetzt ein neues Programm geschrieben, dieses funktioniert aber nicht:
    Code:
    $regfile = "m8def.dat"                                     
    $crystal = 3686400                                          
    
    
    Config Portd.6 = Output                           
    Config Portd.7 = Input
    
    Do
       If Portd.7 = 1 Then Portd.6 = 1
          Portd.6 = 0
    Loop
    Versuche ich zu kompilieren, so bekomme ich folgende Fehler:
    Error: 101 Line: 24 Can't find HW-Register [DDR6 ]
    Error: 101 Line: 25 Can't find HW-Register [DDR7 ]
    ???

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    30.01.2004
    Ort
    Hartenholm
    Alter
    68
    Beiträge
    81
    ... also ich habe mal eben das Progr. auf 'nem Mega8 comp., ohne Fehler.
    Hast Du evtl. in Bascom unter Menu OPTIONS/Compiler/Chip einen anderen/falschen Atmel eingestellt ???

    mfg Gerhard

  3. #3
    Also das "M8" ist doch der ATMega8, oder?
    Bzw. Wenns beid dir läuft, kannst du mir dann sagen, ob es a8uch so funktioniert wie es soll?

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Es muss heißen:

    Config Pind.6 = Output
    Config Pind.7 = Input

    Bei Config benutzt du nur "port", wenn du z.B. Portd meinst.

    MFG Moritz

  5. #5
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.990
    Blog-Einträge
    1
    Deine If- Anweisung ist aber auch sicher so noch nicht ganz richtig. Du schaltest D6 auf 1 und danach gleich wieder auf 0
    Sicher hast du da noch ein "ELSE" und "END IF" vergessen

  6. #6
    @RCO:
    So wie du gesagt hast, habe ich es doch auch geschrieben.

    @Frank
    Nein, das ist schon richtig. Wenn PortD.7 länger als ein Zyklus high ist, so wird PortD.6 sehr schnell auf high/low gesetz. Sollte doch funktionieren

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.01.2004
    Beiträge
    2.441
    So wie du gesagt hast, habe ich es doch auch geschrieben
    Naja, so eine Programmiersprache ist da vielleicht etwas weniger tolerant als du. So ganz dasselbe ist "Portd.6" und "Pind.6" ja nicht.

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.01.2004
    Beiträge
    2.441
    So wie du gesagt hast, habe ich es doch auch geschrieben
    Naja, so eine Programmiersprache ist da vielleicht etwas weniger tolerant als du. So ganz dasselbe ist "Portd.6" und "Pind.6" ja nicht.

  9. #9
    Uuups
    Wobei PinD.6 geht ja auch nicht, son Pin hat ja kein Register

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Wobei PinD.6 geht ja auch nicht, son Pin hat ja kein Register
    Es muss bei Config auf jeden Fall Pin heißen, nachher ist ein Eingang ein PinD.X und ein Ausgang PortD.X außerdem fehlt tasächlich ein else und end if:


    Code:
    $regfile = "m8def.dat"
    $crystal = 3686400
    
    
    Config Pind.6 = Output
    Config Pind.7 = Input
    
    Do
       If Pind.7 = 1 Then
       Portd.6 = 1
       Else
       Portd.6 = 0
       End If
    Loop
    MFG Moritz

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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