Hallo zusammen,
habe das Programm geändert und neu kompeliert, jetzt läuft es wie es soll. @peterfido du meintest sicher Pinb = &B00001111 nicht Portb = &B00001111.
Gruß Kalle
Hallo zusammen,
habe das Programm geändert und neu kompeliert, jetzt läuft es wie es soll. @peterfido du meintest sicher Pinb = &B00001111 nicht Portb = &B00001111.
Gruß Kalle
Nein, das stimmt schon so mit PORT! In die PIN-Register werden mit jeder Taktflanke die logischen Zustände übernommen, die in diesem Moment an den korrespondierenden Anschlüssen des Controllers anliegen. Es macht also wenig Sinn sie aktiv zu beschreiben, oder anders gesagt, sie sind reine "Auslese"-Register.@peterfido du meintest sicherPinb = &B00001111 nicht Portb = &B00001111.
Die PullUp-Widerstände werden daher über das PORT-Register ein- und ausgeschaltet, wenn der I/O-Anschluss ein Eingang ist. In Deinem Code sind die PullUps im Moment also definitiv abgeschaltet.
Gruß,
Daniel
Hallo Kalle,
Variable A ist ein Byte. Mit Incr A wird diese mit Taster hochgezählt. Ist A>255 könnte es sein ein Fehler wird generiert und Do Loop wird unkontrolliert verlassen. Ein END nach Loop ist nicht zwingend aber wie Du erfahren hast hilfreich. Programmablauf wird ortendlich beendet. Sollten nach Loop weitere Programmteile stehen, und kein END eingefügt, geht es weiter und die Fehlersuche wird Aufwendig.
Kleiner Hinweis zum LCD- Menü:
Ich mache es mit einer Statusabfrage der verschiedenen Auslöser für Anzeige.
Dim Lcd_aktualisieren As Byte 'Zähler für LCD-Anzeigen
'Warte bis LCD bereit, falls gleichzeitig Spannung eingeschaltet wird
Waitms 250
Lcd_aktualisieren = 255 'ist Startanzeige
Nun lege ich mal mein bescheidenes Programm “Bus-Modul“ im Anhang. Dort findest Du bestimmt eine Anregung wie eine LCD-Anzeige „Schick“ aussieht.
Gruß
Hallo fredred,
bis ich das gelesen geschweige kapiert hab vergeht ein halbes Jahr. Bin absoluter Programmieranfänger .Hab mir gedacht A wird hochgezählt (Anzahl der Menueeintrage max. 7). Mit select case springe ich in die Menue´s und verstelle dort die Werte.
Gruß Kalle
Hallo Kalle,
bitte um Entschuldigung, sollte doch nur eine Anregung sein. Dein Hinweis(„es sollten keine Textfetzen zurückbleiben“),sollte nur in meinem Code zeigen, wie es auch funktioniert könnte um dies zu vermeiden. Persönlich finde ich es immer besser ein Teil eines bewerden Programms zu übernehmen, um das „Fahrrad nicht neu zu erfinden“.
Musst kein halbes Jahr lesen, um Anhang zu begreifen. Einfach die Kommentar und Anhänge ignorieren.
So einfach ist es.
Mit freundlichen Grüßen
Variablen laufen beim inkrementieren / dekrementieren nicht über. Eine Byte-Variable mit dem Wert 255 zu inkrementieren sorgt dafür, dass diese den Wert 0 bekommt. Ein Wert 0 wird beim Dekrementieren 255.
Wenn das Herz involviert ist, steht die Logik außen vor! \/
Hallo,
@ Gast, das mit den 100ms werd ich mal ausprobieren. Das mit select case ist eine Überlegung und noch lang nicht umgesetzt.
Gruß Kalle
Lesezeichen