www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ist dieser PIC kaputt?


Autor: Tobias Däullary (der-tobi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich hab hier einen 18F2550 (nicht ganz billig), und der gibt an 
verschiedenen IO Pins dauerhaft 0,4-0,5V aus. Das kann doch eig. nicht 
sein?
Demnach müsste er kaputt sein.

Da ich aber Anfänger bin und deshalb Fehler in der Konfiguration nicht 
ausschließen will, hab ich mal den C-Quelltext mit angehängt.
Das Programm ist zum Test gedacht und schaltet die einzelnen Pins mit 
sinusförmiger Geschwindigkeit ein & aus.

Edit:
Ich merke gerade, dieser Bereich des Codes wird komplett vom µC 
ignoriert:
PORTA=0b11111111;
PORTB=0b11111111;
PORTC=0b11111111;

Autor: dummy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>verschiedenen IO Pins dauerhaft 0,4-0,5V aus. Das kann doch eig. nicht
>sein?

Schaltplan?

>Das Programm ist zum Test gedacht und schaltet die einzelnen Pins mit
>sinusförmiger Geschwindigkeit ein & aus.

Schalte die Pins einfach nur mal an ODER aus und miss dann nochmal.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Muss man nicht die Pins mit AD-Funktion erst einmal für Digitalfunktion 
freischalten?

Autor: Tobias Däullary (der-tobi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#include <p18cxxx.h>
#include <delays.h>

#pragma config FOSC=HS
#pragma config WDT=OFF



void main(void)
{
  TRISA=0;
  TRISB=0;
  TRISC=0;
  PORTA=0;
  PORTB=0;
  PORTC=0;
  while(1)
  {
    
  PORTA=0b11111111;
  PORTB=0b11111111;
  PORTC=0b11111111;
  
    
  }
}

Okay, dieses Programm funktioniert soweit, allerdings bleibt das 
Problem: 4 Pins geben nur 0,4V aus.

Und ich hab doch die Pins doch als Ausgang eingestellt, durch
TRISA=0;
TRISB=0;
TRISC=0;

Autor: dummy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Muss man nicht die Pins mit AD-Funktion erst einmal für Digitalfunktion
>freischalten?

Ja, muss man.

    ADCON1 = 0x0F;                 // Default all pins to digital

Autor: Adam @Home (bookwood77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Ausgänge werden mit LATA gesetzt, z.B. LATAbits.LATA0 = 1.
PORTA wird verwendet um Eingänge einzulesen.

Autor: Tobias Däullary (der-tobi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aah, danke, dann wird mir einiges klar.

mfg Tobi

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.