Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Probleme mit Port 3 bei Micro Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Robby - 15.02.2009 21:49)
 Als Antwort auf Re: Probleme mit Port 3 bei Micro von Löter - 15.02.2009 21:45
Robby nutzt:  CC1-Station V1.1, Open-Midi
> > > > > > > Hallo,
> > > > > > >
> > > > > > > ich möchte einen Taster am Port 3 der Micro abfragen.
> > > > > > > Dazu habe ich Port 3 mit einem 10K Widerstand auf +5V gelegt und beschalte ihn mit einem Taster auf GND.
> > > > > > > Dieselbe Art der Abfrage klappt an anderen Ports einwandfrei. Ich erhalte dann über die serielle Schnittstelle die Werte 255 bzw. 00 über den Port.
> > > > > > > Bei Port 3 erhalte ich nur 255 (Pull up Zustand), bei gedrückter Taste gibt es keinen neuen Wert, die Ausgabe bleibt nur stehen.
> > > > > > >
> > > > > > > Ich wäre für einen Tipp dankbar, da ich nur den Port 3 für diese Abfrage zur Verfügung habe.
> > > > > > >
> > > > > > > Gruß
> > > > > > > Löter
> > > > > >
> > > > > > Hallo,
> > > > > >
> > > > > > P3 muss beim Starten der Micro unbedingt auf H-Pegel liegen, sonst geht sie in den Programmiermodus. Dumme Frage: ist dein Taster i.O. - sorry :-) .
> > > > > >
> > > > > > Grüße, Robby.
> > > > >
> > > > > Hallo Robby,
> > > > >
> > > > > danke für Deine Antwort.
> > > > >
> > > > > Ich habe Port3 als Digitalport definiert und mit einem 10K Widerstand auf H-Pegel liegen (siehe mein Text). Trotzdem klappt es nicht wie z.B. mit Port6, wenn ich den genauso anschliesse. Deshalb kann mein Taster nicht kaputt sein, denn bei Port6 klappt es ja. Ich habe schon viel probiert und recherchiert, aber jetzt weiß ich nicht mehr weiter.
> > > > >
> > > > > Gruß
> > > > > Löter
> > > >
> > > > Hast du den code so verwendet, wie Jens schrieb?
> > > > Wenn ja, schließe doch den P3 mal mit etwas Draht gegen Masse kurz, wenn der Taster betätigt werden soll. Noch ein Tipp, wenn du OC-Basic verwendest : hast du den ProgCode compiliert, bevor du ihn zum Controller geschickt hast? Wegen soetwas bin ich auch schon mal bald wahnsinnig geworden. Passiert halt im Eifer der Gefechtes.
> > > >
> > > > Grüße, Robby.
> > >
> > > Hallo Robby,
> > >
> > > hier mein Code:
> > >
> > > OPTION CCMICRO
> > >
> > > Baud R9600
> > > PAUSE 5
> > >
> > > print"Test zur Tastenabfrage"
> > > print
> > >
> > > define Taster as port[6]              
> > > define Zähler as port[5]
> > > define alterZustand as bit            
> > > define Zustand as bit                    
> > >
> > > Zähler = ON
> > >
> > > DO
> > >   Zustand = Taster
> > >   if Zustand <> alterZustand then
> > >      alterZustand = Zustand
> > >      if Zustand = 0 then
> > >         print "GEDRÃœCKT"
> > >         Zähler = OFF
> > >      end if
> > >      if Zustand = 255 then print "AUS"
> > >   end if
> > >   Zähler = ON
> > > LOOP
> > >
> > > Über Port5 wird ein Summenzähler angegsteuert, hat mit der Problematik aber nichts zu tun.
> > > Funzt mit Port6 ohne Probleme! Wenn ich dann dasselbe Prog auf Port3 loslasse, gibt es die beschriebenen Probleme. Damit sind eigentlich Fehler (wie die von Dir angenommenen) ausgeschlossen und es muß eine Besonderheit bei der Behandlung von Port3 (als Digitaleingang) geben.
> > >
> > > Gruß
> > > Löter
> >
> > Hallo,
> >
> > beim schnellen Ãœberfliegen :
> > >      if Zustand = 255 then print "AUS"  geht natürlich nur wenn du den as AD-Eingang definiert hast.
> > Als Digitaleingang bekommst du 0 oder 1 rein. Also in deinem Falle:
> >  >      if Zustand = 1 then print "AUS".
> > So würde ich es zumindest mit meinem primitiven Wissen versuchen.
> > Leider habe ich im Moment nix zum probieren hier. Wenn du es bis morgen abend nicht im Griff hast, baue ich mal schnell das Zeugs auf.
> >
> > Grüße, Robby.
>
> Danke für Deine Bemühungen!
>
> So habe ich zuerst auch gedacht, aber wenn ich mit Port6 arbeite, ist der ja genauso definiert, nämlich als Digitalport (Define Taster as PORT[6]) und es klappt. Wenn ich mit Port3 arbeite, ändere ich im Prog nur 3 anstatt 6.
>
> Wäre nett, wenn Du es mal ausprobieren könntest.
>
> Gruß und einen schönen Abend noch.
> Löter

Ja mache ich.
Aber :
> > define alterZustand as bit            
> > define Zustand as bit                    
sollten meines Verständnisses nach als Byte definiert werden.

Bis Morgen dann, Robby.

 Antwort schreiben

Bisherige Antworten: