Forum: Mikrocontroller und Digitale Elektronik Einzelnen Pin auslesen


von F. R. (fritte)


Lesenswert?

Hey Leute,
zunächst muss gesagt werden das ich ein ziemlicher anfänger bin von 
daher hoffe ich das mir Fehler verziehen werden.

Also nun zum eigentlichen Problem: Ich arbeite zurzeit mit dem STK500 
board und würde gerne wenn ich einen Pin (extern also ich hab bis jetzt 
einfach eine Brücke von der Betriebsspannung auf den pin gesetzt) 
kontrollieren ob dieser Pin sich dann auch verändert hat allerdings 
kommt bei mir einfach nichts dabei rum^^

Also ich hab es bisher so versucht das ich PORTC (an dem hab ich die 
Brücke gesteckt gehabt) ausgelesen hab und dann dem entsprechend die 
LEDs geschaltet hab ,allerdings ändern sich die LEDs ob mit oder ohne 
Brücke keineswegs.

Hoffe jemand kann mir meinen Fehler erklären.

MfG Frederik

von Floh (Gast)


Lesenswert?

Frederik Rehbach schrieb:
> Hoffe jemand kann mir meinen Fehler erklären.

Du hast keinen Code gezeigt.

von Stargast (Gast)


Lesenswert?

2 Kommata, wow!

von J.-u. G. (juwe)


Lesenswert?

Frederik Rehbach schrieb:
> Hoffe jemand kann mir meinen Fehler erklären.

> Also ich hab es bisher so versucht das ich PORTC (an dem hab ich die
> Brücke gesteckt gehabt) ausgelesen

PORTC dient zum Setzen (nicht zum Einlesen) der Ein-/Ausgangspins.

Wie es richtig geht steht hier:

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Zugriff_auf_IO-Ports

von F. R. (fritte)


Lesenswert?

So hier mal der Code:
1
#include <avr/io.h>
2
#include <stdint.h>
3
 
4
int main()
5
{
6
  DDRC=0x00;
7
  DDRB = 0xff;
8
  while( 1 )
9
  {
10
    PORTB = PORTC;
11
  }
12
  return 0;
13
}

von    (Gast)


Lesenswert?

Lies dir doch das mal in RUHE durch.

von F. R. (fritte)


Lesenswert?

Ah hey super danke, sry hatte während des Code raussuchends nicht 
aktualisiert und so deinen Beitrag noch nicht gesehen.

von Matthias L. (Gast)


Lesenswert?

1
...
2
   PORTB = PINC;
3
...

von Dietrich L. (dietrichl)


Lesenswert?

... und beachte, dass ein offener Eingang einen beliebigen (vorher nicht 
bekannten) Wert liefert. Wenn allerdings der interne Pullup-Widerstand 
eingeschaltet ist, liefert er eine "1". Dann muss Deine Testbrücke nach 
GND gehen.

Gruß Dietrich

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.