Warum funktionieren Taster plötzlich nicht mehr?

Gast #1229450
Lesenswert?

Hi Leute,

ich habe ein total blödes Problem und absolut keine Ahnung was daran 
Schuld ist oO.

Ich möchte einfach nur ein Programm haben, bei dem ich eine Taste drücke 
und dann eine LED leuchtet... (Oder vonmiraus auch andersrum, dass sie 
aufhört zu leichten!)
Ich weiß das ist ein ganz einfaches Problem und ich habe früher auch 
genug Programme geschrieben, mit dennen ich LEDs mit Taster einschalten 
kann. Allerdings funktioniert jetzt keines mehr!
Hier mal der Code...
1
#include <stdio.h>
2
#include <avr/io.h>
3

4
int main(void)
5
{
6
  PORTC = 0xFF;  // Alle LEDs aus
7
  DDRC = 0xFF;  // C als Ausgang
8

9
  DDRA = 0x00;  // A als Eingang
10
  PORTA = 0xFF;  // Pullups aktiv
11

12
  while(1)
13
  {
14
    PORTC = ~PINA;
15
  }
16
}

Jetzt sollten doch die LEDs an Port C leuchten, wenn ich an PIN A 
irgendwo draufdrücke. Aber da tut sich absolut nichts!

Mein eigentliches Ziel ist es, mit einem Joystick in einem Programm auf 
dem Display weiter zu schalten, aber es funktioniert ja nicht einmal so 
ein kleines Programm mit den Tasten... (auch nicht mit dem Joystick...)
Hat jemand Ideen?????
Gast #1229465
Lesenswert?

jtag fuse ist gesetzt. Muss ich das löschen???

Und warum muss ich da ein delay einbauen? Der nimmt doch automatisch den 
Wert und übergibt ihn gleich wieder...sprich die LED sollte Leuchten 
solange ich auf Taster drücke...
#1229468
Lesenswert?

Gast wrote:
> jtag fuse ist gesetzt. Muss ich das löschen???

Solange jtag aktiviert ist, sind einige Pins am Port C mit einer 
Sonderfunktion belegt, sodass der Port nicht mehr normal zu gebrauchen 
ist.

> Und warum muss ich da ein delay einbauen?

Vergiss den delay. Dein Programm ist so als Testprogramm in Ordnung.
Gast #1229484
Lesenswert?

Ok danke, jetzt schaffe ich es zumindest, mit dem Taster vom STK500 die 
LED zu schalten.

Allerdings möchte ich das ganze mit dem Joystick auch schaffen!
Beim STK500 Taster ist es so:
ungedrückt: 5 V
gedrückt: 0 V


bei meinem Joystick:
ungedrückt: 0 V
gedrückt: 5 V


Jetzt sollte doch das gleiche Programm nur durch den Austausch der 
Taster gleich funktionieren, nur mit dem Unterschied, dass die LED 
verkehrt herum funktioniert... Tut sie aber nicht! Warum?

Sprich wenn ich jetzt den STK500 Taster drücke, geht die LED aus.
Dann sollte doch die LED auch ausgehen, wenn die den PIN auf Joystick 
umstecke... tut sie aber nicht. Und beim drücken tut sich auch nix.

Kann mir das jemand erklären?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren