Gast
#3926749
Taster ist wie folgt angeschlossen. GND an den 1. Pin, PA7 an dem 2. Pin. Jedoch blinkt eine LED abwechselnd im 100ms Takt.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
|
Anzeige
|
Tasterabfrage erfolgt nicht
Gast
#3926749
Taster ist wie folgt angeschlossen. GND an den 1. Pin, PA7 an dem 2. Pin. Jedoch blinkt eine LED abwechselnd im 100ms Takt.
Gast
#3926755
> #define BUTTON !(PINA & (1<<7))
macht ja auch kein sinn. PINA ist eine Konstante die ändert sich kaum.
Damit ist der Ausdruck insgesamt auch Konstant.
Simon schrieb: > Taster ist wie folgt angeschlossen. GND an den 1. Pin, PA7 an dem 2. > Pin. ? Wie schliesst du PA7 am 2. ten Pin an?
Gast
#3926768
Karl Heinz schrieb: > Wie schliesst du PA7 am 2. ten Pin an? er meint bestimmt vom Taster den 2.Pin Peter II schrieb: > Karl Heinz schrieb: >> Wie schliesst du PA7 am 2. ten Pin an? > > er meint bestimmt vom Taster den 2.Pin ah. ok. So macht das natürlich Sinn Peter II schrieb: >> #define BUTTON !(PINA & (1<<7)) > > macht ja auch kein sinn. PINA ist eine Konstante ? PINA ist doch keine Konstante.
Gast
#3926775
Karl Heinz schrieb: > PINA ist doch keine Konstante. stimmt, habe ich mit PA1 verwechselt - also auch mein Kommentar ignorieren. Ich würde mir mal ein Voltmeter nehmen und die Spannung am Pin direkt am Prozessor nehmen. Es soll ja auch so 'fiese' Taster geben, bei denen von den 4 Pins je 2 miteinander verbunden sind. Schliesst man die 'um 90° verdreht' an, dann simuliert das mehr oder weniger einen Dauertastendruck. Abgesehen davon, seh ich allerdings nichts, was eine Dauerbetätigung des Tasters erklären könnte.
Gast
#3926883
>PINA ist doch keine Konstante.
Wie bitte?
PINA = die Adresse des PINA-Registers im I/O-Bereich des Controllers.
Selbstverständlich ist das eine Konstante. Beim ATtiny24/44/84 hat sie
den Wert 0x19. Wer's nicht glaubt, möge sich davon mit "ldi r16, PINA"
im Simulator überzeugen.
LostInMusic schrieb: >>PINA ist doch keine Konstante. > > Wie bitte? > > PINA = die Adresse des PINA-Registers im I/O-Bereich des Controllers. > > Selbstverständlich ist das eine Konstante. Nein. Nicht in C. &PINA ist eine Konstante, aber nicht PINA welches als
per Makro definiert ist. Im PINA Makro ist die Dereferenzierung bereits in das Makro eingebaut, so dass es sich für einen C-Programmierer wie eine normale Variable verhält. > Beim ATtiny24/44/84 hat sie den Wert 0x19. Wer's nicht glaubt, > möge sich davon mit "ldi r16, PINA" im Simulator überzeugen. Du musst schon auch die Programmiersprache berücksichtigen. Hier geht es um C und nicht um Assembler. Für einen C Programmierer verhalten sich DDRA, PORTA und PINA (genauso wie alle anderen Hardware-Register) wie ganz normale Variablen, die per Makro-Magic an die µC-Register gekoppelt sind.
Gast
#3926896
LostInMusic schrieb: >>PINA ist doch keine Konstante. > > Wie bitte? > > PINA = die Adresse des PINA-Registers im I/O-Bereich des Controllers. > > Selbstverständlich ist das eine Konstante. Beim ATtiny24/44/84 hat sie > den Wert 0x19. Wer's nicht glaubt, möge sich davon mit "ldi r16, PINA" > im Simulator überzeugen. Und im GCC-Tutorial steht totaler Unfug drin, oder? ;-)) Zitat:
Gast
#3927202
>Du musst schon auch die Programmiersprache berücksichtigen. Na gut, 1:0 für Dich. Was in Assembler eine Konstante ist, ist in C schon eine Variable. Das muss man erst mal verkraften :-) >[...] verhalten sich DDRA, PORTA und PINA (genauso wie alle anderen >Hardware-Register) wie ganz normale Variablen [...] OK. Kann ja kein Mensch ahnen. >Und im GCC-Tutorial steht totaler Unfug drin, oder? ;-) Ohne es gelesen zu haben vermute ich mal: "Ja" (kleiner Scherz...) Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|