mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega8 Pin PORTB0 defekt?


Autor: Chris H. (toffer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe ein ganz merkwürdigen Fehler der Pin 0 an meinem PortB meines 
Atmega8 scheint irgend wie defekt zu sein oder ich stehe auf dem 
Schlauch?

Folgendes Testprogramm:

#include <stdint.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>

int main(void) {

  DDRB = 0xFF;
  while (1) {
    PORTB = 0xFF;

    _delay_ms(1);
    PORTB = 0x00;
    _delay_ms(1);
  }

  return 0;
}

Sinn des Programm naja jede Millisekunde den Ausgang an PortB togglen.
Ja das funktioniert auch ganz schick an PortB nur nicht beim ersten Pin? 
Der ist dauerhaft auf high.

Es liegt auch nicht an der Schaltung, habe auch direkt am Beinchen des 
MCU gemessen.Ich habe die DIL 28 Variante es sollte das Beinchen unten 
links sein wenn man von oben drauf blickt. :D

Hat da jemand einen Tipp, oder habe ich den einfach irgend wie 
geschrottet?

Vielen Dank
toffer

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Probier mal die <avr/iom8.h> zusätzlich einzufügen.

Autor: Chris H. (toffer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für deine Hilfe, aber das ändert leider nichts. :-(

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
habe auch ein Atmega 8 und dein Programm mal aufgespielt. Bei mir kommt 
an allen Pin^s das Rechtecksignal. Von daher würde ich schon fast sagen, 
dass bei deinem Atemga Pin 0 an Port B defekt ist.

grüße

Autor: Chris H. (toffer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das wäre ja echt blöd, bin nen relativer noob noch inm embedded bereich, 
aber passiert sowas oft? bzw wodurch kann sowas passieren?

Gruß toffer

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Passieren kann sowas wenn eine zu große Last an den Pin gehängt wird, 
also wenn mal mehr als 40mA drüber fließen oder einfach Fertigungsfehler 
was aber eher unwahrscheinlich ist.
Aber zuvor würde ich jetzt mal das Programm explizit für Pin 0 schreiben 
und mal nur dort das Signal ausgeben.

grüße

Autor: avion23 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So etwas habe ich auch schon hingekommen. Bei mir durch zurückinduzierte 
negative Spannung. PWM mit 16kHz.

Bist du dir sicher, dass das alles ist? Nicht irgendwo noch einen timer 
initialisiert? i2c o.ä.?

Autor: toffer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja das ist ganz sicher alles, habe extra nen neues Projekt in Eclipse 
aufgemacht, da ich im eigentlichen Programm halt diesen Fehler hatte. 
Ist wirklich nur eine C-Datei mit dem obigen Inhalt.

Gruß toffer

Autor: Pete K. (pete77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DIP gesockelt ? Beinchen verbogen ?

Wie mißt Du die 1ms ? Oszi ?

Autor: toffer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen,
ja ist DIP gesockelt, ich habe aber mit dem Oszi direkt am Beinchen 
gemessen, also von oben sozusagen und auch an der Stelle wo ich den Port 
rausführe, es ist an beiden Stellen gleich. Die Verbindung ist auch 
direkt und von mir auch schon 200mal durchgemessen, da ich erst dachte 
dort liegt der fehler. Aber wie gesagt ich habe halt auch direkt das 
Signal am Beinchen gemessen.

Gruß Toffer

Autor: Bernd Kempa (viper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Hatte ich auch schon am Mega8, Ausgang ging, aber Eingang nicht, hatte 
den Eingang ein wenig mit 12V gebrutzelt, gefällt dem µC natürlich 
überhaupt nicht.
Nimm nen anderen Port, das behebt das Problem.

CU
Bernd

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.