www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 3,9V am Portausgang


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!

Ich hab Folgendes Problem:

Ich hab angefangen eine Platine aufzubauen, mit der ich mit einem 
ATmega16 etwas rumprobieren kann.
Nachdem ich Testweise ein Programm auf den Controller geladen habe, habe 
ich festgestellt, dass die Portausgänge nur 3,9V haben, wenn sie auf 1 
gesetzt werden.
Die Versorgungsspannung ist konstant bei 5,15V (kommt von einem PC 
Netzteil) und der Programmiervorgang funktioniert auch problemlos.
Hier mal der Programmcode:


#include <avr/io.h>

#define WARTEPIN PINB
#define WARTEBIT 1

int main(void)
{
  DDRB = 0x01;
  DDRA = 0xFF;
  DDRC = 0xFF;
  DDRD = 0xFF;

  while(1)
  {
    while ( !(WARTEPIN & (1 << WARTEBIT)) ) ;
    PORTB = 0x01;
    PORTA = 0xFF;
    PORTC = 0xFF;
    PORTD = 0xFF;

    while ( !(WARTEPIN & (1 << WARTEBIT)) ) ;
    PORTB = 0x00;
    PORTA = 0x00;
    PORTC = 0x00;
    PORTD = 0x00;
  }
}


Da es nur ein Testprogramm ist, habe ich mir das Tasterentprellen 
gespart.
Vielleicht hat ja einer eine Idee, wo das Problem liegen könnte.

Danke schonmal

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Solange dein Taster gedrückt ist, werden die Pin mit sehr hoher 
Geschwindigkeit ständig ein- und wieder ausgeschaltet. Dein Messgerät 
zeigt halt einen Mittelwert davon an.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, das weiß ich. Deswegen Drücke ich den Taster auch nicht dauerhaft, 
sondern so oft, bis die Ports zufällig auf 1 sind (LED leuchtet). Daran 
kanns also nicht liegen

Autor: Aufreger deluxe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach do einfach mal:

DDRA = 0xFF;
PORTA = 0xFF;

while(1);

Was haste dann für ne Spannung an PORTA?

Autor: Robert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist am entsprechenden port was angeschlossen? was?

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, hab ich gemacht, an Port A liegen sogar nur 3,4V an.
Kann das vielleicht irgendwas mit den Fuses und Lock-Bits zu tun haben? 
Hab den Controller nämlich mal mit einer Version von Yaap beschrieben, 
die den ATmega 16 nicht gekannt hat.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Evtl vergessen, AVCC anzuschließen?
JTAG nicht abgeschaltet? (Ist per default an und belegt Portpins).

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ha! Und wieder was gelernt....AVCC war nicht angeschlossen.....vielen 
Dank

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.