-         
+ Antworten
Ergebnis 1 bis 4 von 4

Thema: Einlesen funzt nicht (BasCom)

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    31.01.2004
    Beiträge
    585

    Einlesen funzt nicht (BasCom)

    Hallo!
    Bascom geht bei mir nun wieder (hmm).
    Ich schaffe es einfach nicht, per Bascom einen PortD einzulesen und damit zB eine LED zu steuern.
    Mein Programm schaut so aus:

    Config Portb = Output
    Config Portd = Input
    #loop
    if Portd.0 = 0 then Portb.0 = 0 else Portb.0 = 1
    goto loop

    Nur diese #loop wird nicht erkannt!
    Die led soll angehen (portb) wenn der Taster (Portd) angeht!
    Aber das funzt irgendwie nicht!
    (0 ist ja an, und 1 ist ja aus, weil 0 gleich 0V ist und ich´hab die Leds verkehrt angeschlossen, also das Plus an den Port)
    Was kann ich da machen??

    Mit freundlichen Grüßen,
    ShadowPhoenix

  2. #2
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.943
    Blog-Einträge
    1
    Hi,

    Du mußt für die Abfrage den Befehl PinX statt PortX nehmen. Zudem weiß ich nicht ob du Pullup Widerstand angeschlossen hast. Wenn nicht, kannst du den internen bei einem Eingabeport so einschalten:
    portd.0=1 'Interner Pullup Widerstand einschalten

    Wenn ich micht nicht irren, müsste Listing dann so aussehen:

    Code:
    Config Portb = Output 
    Config Portd = Input 
    
    portd.0=1 'Interner Pullup Widerstand einschalten
    
    #loop 
    if Pind.0 = 0 then Portb.0 = 0 else Portb.0 = 1 
    goto loop
    Allerdings ist das Programm nicht ideal, da Tastenprellen zu unsauberen verhalten führt. Dahe rgibt es in Bascom eine spezielle Portabfrage die Tastenpreller ausschließen. Wir fällt Bezeichnung nur gerade nicht ein - findet man aber schnell in der Hilfe

    Übrigens kann ich wirklich dieses neue deutsche Buch von Roland Walter empfehlen, ich hab es fast durchgelesen. Es ist in erster Linie ein Bascom Buch bei dem solche Sache wie oben aber natürlich auch tiefergende sehr gut an Beispielen beschrieben werden. Wird zwar alles am Mega8 Beispiel beschrieben, aber das läßt sich fast alles auch auf andere AVR´s übertragen. Wer Probleme hat das Buch zu bekommen, kann es auch über robotikhardware.de beziehen. Kostet überall das gleiche.


  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    31.01.2004
    Beiträge
    585
    Danke, nur bei deinem Programm kommt der fehler:

    Unknown Statement [#LOOP] , in File.....

    Wahrscheinlich gibt es den Befehl #[Statement] nicht mehr..
    Hmm wie kann man unter Bascom am besten eine "Endlosschleife" einbauen?

    Mit freundlichen Grüßen,
    ShadowPhoenix, der zum ersten mal mit AVR's zu tun hat

  4. #4
    Gast
    Einfach:

    do
    .... befehle ...
    loop


    Gruß Frank

    PS. Wenn du goto nimmst, dann mußt du Ziel glaube anders markieren. Glaub ohne Raute und mit Doppelpunkt.
    ziel:
    goto ziel
    Bin mir aber jetzt nicht ganz sicher, notfalls mal unter goto nachschlagen

+ Antworten

Berechtigungen

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