Forum: Mikrocontroller und Digitale Elektronik Mega32 und Steckbrett (Anfängerproblem)


von Sa H. (sh87)


Lesenswert?

Hi,

habe folgendes Anfängerproblem.
Zum programmieren nehme ich das STK500 mit einem Mega32.
Beim tasten auf PA7 soll eine LED an PC0 geschaltet werden.

Das Programm funktioniert auf dem STK500 ohne Probleme aber wollte nun 
das ganze auch auf einem Steckbrett probieren ohne die ISP 
Schnittstelle. Dies schaut dann so aus (nur ohne die ISP Schnittstlle) 
http://www.rn-wissen.de/images/3/3c/Avrtutorial_grundschaltung_mittaster.gif

Bei der Schaltung oben flackert die LED unkontrolliert und der Taster 
hat überhaupt keinen einfluss. Was mache ich falsch? Hab ich iwas 
vergessen?

Danke im Voraus für eure Hilfe.

Gruß Sascha

von Ronald S. (mline)


Lesenswert?

Liegt an den Kontakten.

von spess53 (Gast)


Lesenswert?

Hi

>Dies schaut dann so aus (nur ohne die ISP Schnittstlle)
>http://www.rn-wissen.de/images/3/3c/Avrtutorial_gr...

Dein Link funktioniert nicht.

>Bei der Schaltung oben flackert die LED unkontrolliert und der Taster
>hat überhaupt keinen einfluss. Was mache ich falsch? Hab ich iwas
>vergessen?

Die Taster auf dem STK500 haben Pull-Up-Widerstände. Hat deine Schaltung 
die auch? Oder die internen Pull-Ups aktiviert?

MfG Spess

von Sa H. (sh87)


Angehängte Dateien:

Lesenswert?

Sry. So hab das Bild angehängt.

Hab es genauso wie im Tutorial gemacht. Also ein einfacher Taster und 
die Pull-Ups noch nicht aktiviert. Wie aktiviert man den die Pull-Ups in 
C?

MFG Sascha

von yalu (Gast)


Lesenswert?


von spess53 (Gast)


Lesenswert?

Hi

>Wie aktiviert man den die Pull-Ups in C?

Der Pull-Up wird aktiviert, in dem man bei einem Eingang im 
Port-Register an die Bitstelle für das Pin eine 1 schreibt.

Sollte bei dir etwa so aussehen:

PortC = 1<<PC0

Allerdings kenne ich mich mit C nicht sonderlich aus.

MfG Spess

von Phantomix X. (phantomix)


Lesenswert?

> Wie aktiviert man den die Pull-Ups in C?

- Im DDRx-Register das entsprechende Bit richtig setzen, um den Pin auf 
Eingang zu schalten
- im PORTx-Register an die gleiche Stelle eine 1 schreiben, damit wird 
der Pullup aktiviert
- Einlesen über PINx-Register.

von Phantomix X. (phantomix)


Lesenswert?

> PortC = 1<<PC0

> Allerdings kenne ich mich mit C nicht sonderlich aus.

PORTC |= 1 << PC0;

( |= bewirkt, dass die restlichen Bits so bleiben wie sie sind, sollte 
man sich immer angewöhnen bei bitweisen Portzugriffen)

von Sa H. (sh87)


Lesenswert?

Waren wirklich nur die Pull-Ups. Denkmal ihr meint PORTA.

Danke für eure Hilfe!

MFG Sascha

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.