-         

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 33

Thema: Port ansprechen (einzeln)

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.02.2005
    Ort
    Wels
    Alter
    55
    Beiträge
    512

    Port ansprechen (einzeln)

    Anzeige

    Hi,
    als einfachste verständnisfrage habe ich doch erstmal nicht rn-motor angesteuert (nicht, dass ich da in meiner dummheit was schrotte),
    sondern mal was einfaches getestet:

    Code:
     $regfile = "m16def.dat" 
    Config Portb = Output 
    Do 
      Portb = $ff 
      Wait 1 
      Portb = $00 
      wait 1 
    Loop
    an porta hängen 8 leds, die blinken auch wie erhofft.
    erklärt mir bitte jemand für dumme, wie man die jetzt einzeln anspricht?

    zB. led 4 und led 6 sollen genau obiges ausführen, die anderen nicht.

    wenn man hier nach leds und blinken sucht, kommt einfach zuviel info, die damit gar nix zu tun hat
    wäre nett, danke

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255
    einen einzelnen portpin sprichst du zb mit
    Portb.1 = 1
    an.

    Code:
     $regfile = "m16def.dat"
    Config Portb = Output
    Do
      Portb.4 = 1
      Portb.6 = 1
      Wait 1
      Portb.4 = 0
      Portb.6 = 0
      wait 1
    Loop
    zu beachten: die einzelnen portpins werden immer von null bis sieben durchgezählt!

    PS: mit
    config pinb.4 = output
    stellst du nur PB4 als ausgang ein. die restlichen portpins kannst du dann als eingänge nutzen:
    config pinb.3 = input
    config pinb.7 = input
    usw

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    FF ist der Hex-Code für Dez 255 und Binär 11111111.
    Ich finde, die binäre Ansicht verdeutlich schon besser was passiert.

    Portb = &B11111111 'B0 bis B7 werden auf 1 gesetzt.
    Portb = &B00010100 'Die 4. LED (an B3) und die 6. LED (an B5) werden leuchten

    Einfacher ist aber:

    Portb.3 = 1 'Die 4. LED (an B3) einschalten
    Portb.3 = 0 'selbige ausschalten.

    Geh mal auf http://www.rowalt.de/mc/index.htm und da Links im Menü auf Einführung 1. Am besten Einführung 1 bis 11 aufdrucken und alles mal in ruhe durchlesen.

    EDIT: Da war schon jemand schneller

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.02.2005
    Ort
    Wels
    Alter
    55
    Beiträge
    512
    aha, danke wiedermal!

    hab mich oben eh vertippt, die hängen an port a
    klingt aber eh recht einleuchtend, gleichmal versuchen....
    thx knacki

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.02.2005
    Ort
    Wels
    Alter
    55
    Beiträge
    512
    danke @marco78, aber die einfache variante sagt mir im moment besser zu

    mit waitms siehts dann noch besser aus.

    wenn man jetzt ein lauflicht machen will, muss man das ganze dann vermutlich mit dem taschenrechner durchrechnen und die befehle einzeln setzen, oder gibts da tricks dafür?
    thx knacki

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.02.2005
    Ort
    Wels
    Alter
    55
    Beiträge
    512
    Kuul, knight rider effekt *grins*

    zum einarbeiten sind solche spielereien wirklich net schlecht!

    bloss ist der code jetzt ziemlich lang und sieht dämlich aus:
    Code:
    $crystal = 4000000
    
    Config Porta = Output
    Do
      Porta.0 = 1
      Waitms 35
      Porta.0 = 0
      Porta.1 = 1
      Waitms 35
      Porta.1 = 0
      Porta.2 = 1
      Waitms 35
      Porta.2 = 0
      Porta.3 = 1
      Waitms 35
      Porta.3 = 0
      Porta.4 = 1
      Waitms 35
      Porta.4 = 0
      Porta.5 = 1
      Waitms 35
      Porta.5 = 0
      Porta.6 = 1
      Waitms 35
      Porta.6 = 0
      Porta.7 = 1
      Waitms 35
      Porta.7 = 0
      Porta.6 = 1
      Waitms 35
      Porta.6 = 0
      Porta.5 = 1
      Waitms 35
      Porta.5 = 0
      Porta.4 = 1
      Waitms 35
      Porta.4 = 0
      Porta.3 = 1
      Waitms 35
      Porta.3 = 0
      Porta.2 = 1
      Waitms 35
      Porta.2 = 0
      Porta.1 = 1
      Waitms 35
      Porta.1 = 0
    
    Loop
    kann man das vereinfachen in bascom?
    thx knacki

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.02.2005
    Ort
    Wels
    Alter
    55
    Beiträge
    512
    hm, auf diese art und weise lässt sich der "nachschmiereffekt" des lauflichts ja nicht umsetzen.

    ein ansatz wäre, für jede led eine eigene schleife zu setzen, allerdings müsste es dann eine funktion sein, die man aufruft, und wärend die eine abläuft, fängt die nächste funktion an.
    ist der denkansatz richtig?
    mfg knacki

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.02.2005
    Alter
    29
    Beiträge
    470
    The shortest Knightrider Quellcode all over the World!!!!!!!!!
    Code:
    $regfile = "2313def.dat"
    $crystal = 10000000
    Dim A As Byte
    
    Config Portb = Output
    A = 1
    Do
    Do
    Portb = A
    Waitms 10
    Rotate A , Left , 1
    Loop Until A = 128
    Do
    Portb = A
    Waitms 10
    Rotate A , Right , 1
    Loop Until A = 1
    Loop

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.02.2005
    Ort
    Wels
    Alter
    55
    Beiträge
    512
    mit waitms 50 siehts besser aus.
    danke für den code, muss ich aber erstmal durchsteigen
    mfg knacki

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.02.2005
    Alter
    29
    Beiträge
    470
    hab 10ms für Simulator genommen ( der is immer nen bissle langsamer ) in realität läufts bei mir mit 100ms.

Seite 1 von 4 123 ... LetzteLetzte

Berechtigungen

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