- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 10 von 19

Thema: Variable am Port ausgeben

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Wenn du nur PortB.0-4 anschalten willst hat du nur 5 Bit also musst du 5x zählen aber nicht mit +1 sondern mit +2. Und nach dem
    PortB = A
    Waitms 200
    schreibst du dann
    PortB = 0
    Next A
    So sollte das eigentlich funktionieren. Kann es leider im Moment nicht prüfen, weil mir der PC fehlt

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied Avatar von HM
    Registriert seit
    01.12.2003
    Beiträge
    161
    Hallo Kampi,danke für Deine Antwort.Bei mir im Zimmer sind 28Grad Wärme, da muß ich morgen weitermachen. Ich melde mich dann.MfG

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    Wenn du nur PortB.0-4 anschalten willst hat du nur 5 Bit also musst du 5x zählen aber nicht mit +1 sondern mit +2.
    Auch das stimmt nicht ganz - denn dann würde A ja die Werte 2,4,6,8 und 10 annehmen. Und wenn diese Werte auf den PORTB ausgegeben werden, entsteht zwar ein interessantes Muster, aber kein "durchlaufendes" Bit.

    Wenn ich Dich richtig verstanden habe, HM, möchtest Du so ´ne Art Lauflicht realisieren. Also die folgenden Bytes ausgeben:

    00000001
    00000010
    00000100
    00001000
    00010000

    Richtig? Dann mach´ doch mal den Windows-Rechner auf und wandle diese Binärzahlen in Dezimalzahlen um. Herauskommen wird 1,2,4,8 und 16. Heißt also im Klartext, dass Du mit A=1 anfängst, dann alle 200 ms den Befehl A=A*2 machst, und A wieder auf 1 setzt, nachdem es 16 gewesen ist. In Code also etwa so:

    Code:
    ...
    ...
    Dim A as byte
    A=1
    
    Do
    PORTB = A
    Waitms200
    If A=16 then A=1 else A=A*2
    Loop
    Und das müsste auch bei > 28 Grad funktionieren

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied Avatar von HM
    Registriert seit
    01.12.2003
    Beiträge
    161
    Hallo Sauerbruch,vielen Dank für Deine Antwort Du kannst wohl Gedanken lesen, mit "If Then" habe ich auch schon rumexperimentiert. Das muß ich alles morgen machen, jetzt lieg ich im Bett.Mit den 28Grad habe ich auch an meinen Computer gedacht, der wird schon unter normalen Umständen heiß.Vielen Dank und bis morgen. MfG

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    Übrigens: Für Lauflicht-Experimente sind die Befehle "Shift" und "Rotate" auch sehr interessant! Näheres findest Du in der Bascom-Hilfe!

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied Avatar von HM
    Registriert seit
    01.12.2003
    Beiträge
    161
    Hallo Kampi u. Sauerbruch,
    wieder vielen Dank für eure Antworten.
    Die Beispiele sind wirklich sehr gut erklärt, sie funktionieren und das hilft mir schon weiter.
    Mit "Shift u. Rotate" habe ich auch schon experimentiert, nur weiß ich noch nicht, wie ich das von "PortB.0 bis PortB.4" einschränke.
    Vielen Dank für die Hilfe. MfG

    HTML-Code:
    $regfile = "m8def.dat"
    $crystal = 8000000
    $hwstack = 40
    $swstack = 32
    $framesize = 60
    
    Ddrb = &B1111_11111
    Portb = &B0000_0000
    
    Dim A As Byte
    
    A = 1
    
    Do
    
    Waitms 200
    
    Portb = A
    
    Rotate A , Left , 1
    
    Loop
    
    End

  7. #7
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Ungetestet:

    Rotate A , Left , 1
    If A.5=1 Then A=1
    Loop
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

Ähnliche Themen

  1. Variable auf LCD ausgeben
    Von Haveaniceday im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 20.07.2017, 18:57
  2. HD44780U LCD library und inhalt einer variable ausgeben?
    Von donald_dack im Forum C - Programmierung (GCC u.a.)
    Antworten: 16
    Letzter Beitrag: 05.12.2009, 19:23
  3. Variable in LCD Ausgeben
    Von guthardt im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 29.12.2008, 21:18
  4. float Variable mit printf ausgeben(UART)
    Von Kera im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 02.02.2006, 11:45
  5. Int Variable auf LCD ausgeben
    Von Jan.HH im Forum C - Programmierung (GCC u.a.)
    Antworten: 14
    Letzter Beitrag: 16.11.2005, 21:44

Berechtigungen

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

LiFePO4 Speicher Test