Bascom 2 Pineingänge an 1 Ausgang

OP #962385
Hallo

Ich komm da nicht weiter.
Ich will ne Fernbedienungsempfänger bauen.
es Funst alles bestens, bis auf folgendes Problem ich muß 2 Leitungen 
(Pinc.5 + Pinc.4) zur selben Zeit an 1 Ausgang (Portc.1) schalten mein 
Code haut irgentwie nicht hin.

 Case 8
      Portc.1 = Pinc.5
      Portc.1 = Pinc.4
      Waitms 200
      Portc.0 = 0
      Locate 1 , 10
      Lcd "P9"

Kann mir da jemand helfen?

mfg
reini
Gast
schreib mal genaum, was du willst...
Wenn eine H und eine L ist, können irgendwie nicht beide auf den Ausgang 
gehen :-)
In deinem Code bestimmt ausserdem nur PINC.4 den Zustand (ganz kurz auch 
mal PINC.5)
OP
Hallo

Also PinC.5 und PinC.4 sind High, PinC.1 ist Low. Am Gerät sind 2 
Taster, die ich durch den Atmega 8 ersetzen will. Das Kabel C.5 kommt 
vom Gerät, geht zu Taster 1 und am Kabel C.1 zurück. Das Kabel C.4 kommt 
vom Gerät, geht zu Taster 2 und am Kabel C.1 zurück. Das Gerät erkennt 
mit Hilfe der 2 Taster nun 3 verschiedene Befehle, nämlich Taste 1 
gedrücht, Taste 2 gedrückt und Taste 1 + 2 gleichzeitig gedrückt! Da ich 
nun beide Tasten ersetzen will habe ich eben Kabel C.5 an PinC.5, Kabel 
C.4 an PinC.4 und Kabel C.1 An PinC.1 des Atmega angeschlossen und 
wollte die 3 Schaltzustände mit dem Atmega machen. Es funst mit Befehl 1 
oder 2 bestens, nur eben nicht mit 3 (also beide gedrückt).

mfg
reini
Gast
Ich kenne mich mit Bascom nicht aus, aber müsste es nicht so heißen:

 Case 8
      Portc.1 = Pinc.5 + Pinc.4
      Waitms 200
      Portc.0 = 0
      Locate 1 , 10
      Lcd "P9"
Gast
Tatsache ist, dass es so nicht funktionieren ist. Und Tatsache ist, das 
wohl keiner versteht, was Du wirklich willst.

Eine Skizze wäre da sehr hilfrei.
Moderator (Firma: Titel) Persönliche Seite
1
Also PinC.5 und PinC.4 sind High, PinC.1 ist Low. Am Gerät sind 2
2
Taster, die ich durch den Atmega 8 ersetzen will. Das Kabel C.5 kommt
3
vom Gerät, geht zu Taster 1 und am Kabel C.1 zurück. Das Kabel C.4 kommt
4
vom Gerät, geht zu Taster 2 und am Kabel C.1 zurück. Das Gerät erkennt
5
mit Hilfe der 2 Taster nun 3 verschiedene Befehle, nämlich Taste 1
6
gedrücht, Taste 2 gedrückt und Taste 1 + 2 gleichzeitig gedrückt! Da ich
7
nun beide Tasten ersetzen will habe ich eben Kabel C.5 an PinC.5, Kabel
8
C.4 an PinC.4 und Kabel C.1 An PinC.1 des Atmega angeschlossen und
9
wollte die 3 Schaltzustände mit dem Atmega machen. Es funst mit Befehl 1
10
oder 2 bestens, nur eben nicht mit 3 (also beide gedrückt).

Mein Text2Schematic Konverter ist gerade abgestürzt... :(

Auf dieselbe Fläche passt locker ein Bild mit dem Schaltplan.
Das ist das anerkannte Kommunikationmittel unter Elektronikern.

Mein Vorschlag: Mal ein Bild, mach ein Foto und poste das.
Dann wird dir geholfen.
Gast
Ich denke Du betrachtest die Schaltung verkehrt herum. Meiner Meinung 
nach kommt der High-Pegel (oder Low, je nachdem) vom Kabel C.1 und wird 
über die Taster an die Kabel C.4 und C.5 gegeben. Nur auf diese Weise 
können 3 Schaltzustände erkannt werden.
Nach Deiner Ansicht, dass das Kabel C.1 der Eingang (am Gerät) ist, hast 
Du die beiden Tasten einfach ODER-verknüpft.
Die ATmega-Pins C4 und C5 müssen also Ausgänge sein und nicht Eingänge. 
Also in etwa so sollte es funktionieren:
1
Ddrc = &B11111100  
2
'PortC.0 = Eingang , PortC.1 = Eingang , PortC.2 - PortC.7 = Ausgänge
3

4

5
Portc = &B00000011
6
'Pullup-Widerstände an den Eingängen aktivieren für Taster die nach Masse schalten
7
'Ausgänge auf L setzen
8

9
   Main:
10

11
      If Pinc.0 = 0 Then
12
      Set Portc.4
13
      Else
14
      Reset Portc.4
15
      End If
16

17
      If Pinc.1 = 0 Then
18
      Set Portc.5
19
      Else
20
      Reset Portb.1
21
      End If
22

23

24
   Goto Main

Auf diese Weise sind die Ausgänge High solange die Taster gedrückt sind. 
Um den dritten Schaltzustand musst Du Dir auch keine Gedanken machen. 
Das funktioniert quasi nebenbei.

Jürgen

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.