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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von sibi1012 (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Hi,

welches Programm ?

von c-hater (Gast)


Bewertung
-1 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


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

In Deinem JPG steht aber was völlig anderes.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.