www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Taster Einlesen


Autor: Tx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

irgendwie bekomme ich es nicht hin das ich auf meinen myAVR mk2 Board
ein Taster einlesen kann...

hier mein Programm

$regfile = "m8def.dat"
$crystal = 3690000


Config Portb = Output
Config Portc = Input
Config Portc = 1


Do

If Portc = 0 Then
Portb = 1
Else
Portb = 0

End If

Loop

End

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tx schrieb:
> Hallo,
>
> irgendwie bekomme ich es nicht hin das ich auf meinen myAVR mk2 Board
> ein Taster einlesen kann...


> If Portc = 0 Then

Eingelesen wird über das Pin Register


  PORTx     Ausgänge schalten (oder Pullup ein/aus schalten)
  PINx      Eingänge einlesen

Autor: Tx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
tut sich immer noch nichts!

$regfile = "m8def.dat"
$crystal = 3690000


Config Portb = Output
Config Pinc.5 = Input
Config Portc = 1


Do

If Pinc.5 = 0 Then
Portb = 1
Else
Portb = 0

End If

Loop

End

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tx schrieb:
> tut sich immer noch nichts!

Ich bin zwar kein BASCOM spezialist, aber ich würde mal sagen

> Config Pinc.5 = Input
> Config Portc = 1

da beeinflusst das eine das andere und die beiden hängen irgendwie 
miteinander zusammen :-)

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Config Pinc.5 = Input
> Config Portc = 1

Wenn die 2. Zeile die den internen Pullup-Widerstand für Pinc.5 
aktivieren soll, tut er das nicht. Die Zahl 1 ist falsch.

Autor: Tx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan B. schrieb:
>> Config Pinc.5 = Input
>> Config Portc = 1
>
> Wenn die 2. Zeile die den internen Pullup-Widerstand für Pinc.5
> aktivieren soll, tut er das nicht. Die Zahl 1 ist falsch.

wenn ich die zahl aber weglasse komplimiert er mir das aber nicht

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tx schrieb:
> Stefan B. schrieb:
>>> Config Pinc.5 = Input
>>> Config Portc = 1
>>
>> Wenn die 2. Zeile die den internen Pullup-Widerstand für Pinc.5
>> aktivieren soll, tut er das nicht. Die Zahl 1 ist falsch.
>
> wenn ich die zahl aber weglasse komplimiert er mir das aber nicht

es heisst compiliert
zweitens, was soll die zweite Zeile eigentlich bezwecken?

Autor: Tx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl heinz Buchegger schrieb:
> Tx schrieb:
>> Stefan B. schrieb:
>>>> Config Pinc.5 = Input
>>>> Config Portc = 1
>>>
>>> Wenn die 2. Zeile die den internen Pullup-Widerstand für Pinc.5
>>> aktivieren soll, tut er das nicht. Die Zahl 1 ist falsch.
>>
>> wenn ich die zahl aber weglasse komplimiert er mir das aber nicht
>
> es heisst compiliert
> zweitens, was soll die zweite Zeile eigentlich bezwecken?


die 2 te zeile soll bezwecken das die internen pullup widerstände 
aktiviert werden!

Autor: Samuel C. (dragonsam)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Config Pinc.5 = Input
>>Config Portc = 1

So kann das nicht funktionieren. Da setzt du den PIN zuerst auf Eingang 
und dann wieder auf Ausgang.
Schreibe lieber folgendes:

Config Pinc.5 = Input
Portc = 1

Autor: Tx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Samuel C. schrieb:
>>>Config Pinc.5 = Input
>>>Config Portc = 1
>
> So kann das nicht funktionieren. Da setzt du den PIN zuerst auf Eingang
> und dann wieder auf Ausgang.
> Schreibe lieber folgendes:
>
> Config Pinc.5 = Input
> Portc = 1


du meinst so richtig ?

$regfile = "m8def.dat"
$crystal = 3690000


Config Pinc.5 = Input
Portc = 1
Config Portb = Output



Do

If Pinc.5 = 0 Then
Portb.3 = 1
Else
Portb = 0

End If

Loop

End

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weglassen hat niemand empfohlen. Es gibt ja noch andere Zahlen als die 
Eins: Mindestens 128 mögliche und eine sinnvolle. Tipp: Was bedeutet 
denn das .5 bei der ersten Zeile oder das .3 bei dem Schalten der LED?

Autor: Tx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan B. schrieb:
> Weglassen hat niemand empfohlen. Es gibt ja noch andere Zahlen als die
> Eins: Mindestens 128 mögliche und eine sinnvolle. Tipp: Was bedeutet
> denn das .5 bei der ersten Zeile oder das .3 bei dem Schalten der LED?



Das sind meine jeweiligen Ausgangs PIN´s

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nee, Pinc.5 ist doch kein Ausgangspin, sondern dein Eingangspin!

Portb.3 ist ein Ausgangspin und zwar der für die LED. Den schaltest du 
mit 1 auf HIGH Pegel und mit 0 auf LOW Pegel.

Wenn du jetzt den internen Pullup-Widerstand schalten willst, der dem 
Pinc.5 zugeordnet ist...

Und wenn du durch Nachlesen im Datenblatt oder im AVR-Tutorial 
heraus findest, dass man den Pullup-Widerstand von Pinregistern über 
deren Portregister schaltet... was hälst du von diesen Zeilen:

Config Pinc.5 = Input
Portc.5 = 1

oder

Config Pinc.5 = Input
Portc = 32

oder

Config Pinc.5 = Input
Portc = &B00100000

Die letzten beiden Anweisungen erklären sich mit dem Artikel 
Bitmanipulation.

Autor: Tx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan B. schrieb:
> Nee, Pinc.5 ist doch kein Ausgangspin, sondern dein Eingangspin!
>
> Portb.3 ist ein Ausgangspin und zwar der für die LED. Den schaltest du
> mit 1 auf HIGH Pegel und mit 0 auf LOW Pegel.
>
> Wenn du jetzt den internen Pullup-Widerstand schalten willst, der dem
> Pinc.5 zugeordnet ist...
>
> Und wenn du durch Nachlesen im Datenblatt oder im AVR-Tutorial
> heraus findest, dass man den Pullup-Widerstand von Pinregistern über
> deren Portregister schaltet... was hälst du von diesen Zeilen:
>
> Config Pinc.5 = Input
> Portc.5 = 1
>
> oder
>
> Config Pinc.5 = Input
> Portc = 32
>
> oder
>
> Config Pinc.5 = Input
> Portc = &B00100000
>
> Die letzten beiden Anweisungen erklären sich mit dem Artikel
> Bitmanipulation.



Okay,

danke es geht habe es hinbekommen!

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.