Forum: Mikrocontroller und Digitale Elektronik ATMEGA644; Probleme mit PB0 und PB2


von Ray (Gast)


Lesenswert?

Ich habe vor ein 2x16 Zeichen LCD-Display mit einem ATMEGA 644 
anzusteuern. Die Steuerleitungen des LCDs liegen an Pin 0..2 des PORTB. 
Zunächst hängen die Pins aber in der Luft.

Nun zu meinem Problem:
1
#include <avr/io.h>
2
3
int main()
4
{
5
   DDRB |= 0x07;  //PB0..PB2 als Ausgang
6
7
   PORTB |= 0x01; //PB0 auf HIGH (sollte jedenfalls so sein)
8
9
10
   while(1);
11
}

Dieser Code führt dazu, dass an PB0 und(!!??) PB2 eine Spannung von ca. 
2,5V anliegt (????).
Die Fuses sind erstmal auf default.
Ich benutze avrdude-5.5, avr-libc-1.6.2, binutils-2.18 und gcc-4.3.2 
jeweils unter opensuse 11 kompiliert.

Habe ich etwas entscheidendes im Datenblatt übersehen, was eingestellt 
werden muss um PORTB (zumindest PB0..PB2) als normalen I/O Port benutzen 
zu können?
Ich hoffe, dass jemand eine Idee hat.

von holger (Gast)


Lesenswert?

>Dieser Code führt dazu, dass an PB0 und(!!??) PB2 eine Spannung von ca.
>2,5V anliegt (????).

Wird er warm? Kurzschluss?

von Ray (Gast)


Lesenswert?

>Wird er warm? Kurzschluss?

Ja, das war es.
Ich hab zwar die Peripherie an meinen Wannensteckern abgezogen, aber 
nicht geprüft, ob an den Steckern selbst ein Kurzschluss vorliegt.
Es hatte sich nur eine ganz kleine Brücke zwischen den beiden Lötstellen 
am Stecker gebildet. Brücke weg, alles funzt...
Vielen Dank holger.

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.