www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Was mache ich falsch?


Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin blutiger Anfänger.....und möchte ein Relais über Taster und
Fernbedienung schalten. Benutzt wird ein 2323. Der IR-Empfänger ist an
PB0, der Taster an PB1 und der Ausgang an PB2. Hier mein Code, erstmal
nur für den Taster:

Config Pinb.1 = Input
Config Pinb.2 = Output
Config Debounce = 500

Do

Debounce Pinb , 1 , 1 , Tg , Sub

Tg:
If Pinb.1 = 1 Then
 Toggle Pinb.2

Waitms 350

End If
Loop
End

Leider funktioniert es nicht :-( Ich probiere schon seit zwei Tagen
herum...ohne Erfolg, von der Fernbedienung ganz zu schweigen. Alle
möglichen Codebeispiele konnte ich nicht zum Laufen bringen. Ich bin
für Hilfe dankbar.

Alex

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schreib mal statt

  Toggle Pinb.2

das hier:

  Toggle Portb.2

In Bascom ist Pin ist nur zum Lesen von I/O-Leitungen, zum Schreiben
muss Port verwendet werden.

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für die, die es interressiert; Hab den Schalter wieder gegen Masse
gelegt (vorher gegen Plus) und diesen Code zum laufen gebracht;

Config Portb.1 = Input
Portb.1 = 1
Config Portb.2 = Output
Config Debounce = 500

Do

Debounce Portb , 1 , 1 , Tg , Sub

Tg:
If Pinb.1 = 0 Then
 Toggle Portb.2

Waitms 350

End If
Loop
End

Jetzt muß ich nur noch die Fernbedienung reinbasteln. Bin weiterhin für
Tips dankbar

Alex

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,


dein Code beinhaltet einige unlogische Sachen.

Config Portb.1 = Input
Portb.1 = 1
Config Portb.2 = Output
Config Debounce = 30


main:
Do
Debounce Portb , 1 , 1 , Tg , Sub
loop
end

Tg:
If Pinb.1 = 0 Then
 set PORTB.2
End If
return

Der Code ist optimiert und der Progammablauf stimmt wieder.

Wieso du das Bit toggelst wenn es nur "0" ist verstehe ich nicht,
deshalb hab ich das durch SET ... ersetzt.

Mfg
Dirk

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.