Forum: Mikrocontroller und Digitale Elektronik Port von Atmega32 wird nicht erkannt


von sibi1012 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

als Bild anhängend habe ich folgenden Code. Ich möchte überprüfen ob der 
Pin PB4 null ist. Anschließend möchte ich PB4 wieder als Output 
verwenden. Ich habe mit dem Multimeter gemessen und festgestellt, dass 
PB4 auch wirklich null ist. Dennoch funktioniert das Programm nicht.

Weiß jemand zufällig ob ich etwas falsch gemacht habe?

Ich benutze einen Atmega32 und programmiere in Atmel Studio.

Danke schonmal für eure Antworten!

von Karl M. (Gast)


Lesenswert?

Hi,

welches Programm ?

von c-hater (Gast)


Lesenswert?

sibi1012 schrieb:

> als Bild anhängend habe ich folgenden Code

Schön für dich. Damit wir ihn auch haben, solltest du ihn aber nicht als 
völlig schwachsinniges JPEG (!!!) Bild anhängen, sondern einfach so, wo 
Gott oder wer auch immer ihn geschaffen hat: als Quelltext.

> Ich möchte überprüfen ob der
> Pin PB4 null ist.

Das kannst du dir sparen. PB4 ist immer 4, niemals 0 oder gar null.

> Weiß jemand zufällig ob ich etwas falsch gemacht habe?

Da hast angefangen zu programmieren, ohne von irgendwas auch nur den 
Hauch einer Ahnung zu haben. Insbesondere nicht von der Sprache, die du 
verwendest...

von Peter D. (peda)


Lesenswert?

Der AVR-GCC kennt von Haus aus keine Bitvariablen, d.h. Du mußt mit 
Masken arbeiten.

Man kann aber auch Bitvariablen nachrüsten:
http://www.avrfreaks.net/comment/711155#comment-711155

von sibi1012 (Gast)


Lesenswert?

Peter D. schrieb:
> Der AVR-GCC kennt von Haus aus keine Bitvariablen, d.h. Du mußt
> mit
> Masken arbeiten.

Ist es dann falsch zu schreiben: avail=!(PORTB&0x10);    ?

von Georg G. (df2au)


Lesenswert?

sibi1012 schrieb:
> Ist es dann falsch zu schreiben

Die Atmel haben getrennte Register für rein und raus, PORTB und PINB als 
Beispiel.

von Peter D. (peda)


Lesenswert?

sibi1012 schrieb:
> Ist es dann falsch zu schreiben: avail=!(PORTB&0x10);    ?

In Deinem JPG steht aber was völlig anderes.

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.