mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit kleinem Testprogamm für Pic18f458-i/p


Autor: Pascal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe zum Schaltungstest ein kleines Programm geschrieben, dieses 
soll Port-B an Port-C weiterreichen und an Port-A eine Konstante 
ausgeben.

#include <p18f458.h>
#pragma config OSC = HS, WDT = OFF, LVP = OFF
#define test 0b11110000

void main(void)
{
  TRISC = 0; // Port C Ausgang
  TRISA = 0; // Port A Ausgang
  LATA = test;
  while(1)
  {
    LATC = PORTB;
  }
}

Der Controller ist ein PIC18F458-I/P, hier weiss ich nicht ob ich 
vielleicht eine andere Headerdatei brauche?

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welchen Compiler verwendest Du?
Warum glaubst Du, dass Du eine andere Datei verwenden musst?
Z.T. gibt es auch allgemeine Include-Dateien, in welchen dann der 
korrekte Controller automatisch ausgewählt wird (über ein Symbol, das 
von MPLAB definiert wird).

Autor: Pascal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich benutzte MPLAP und C18, allerdings bringe ich die fertige 
Hex-Datei am Ende manuell mit IC-Prog auf den Controller.

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pascal wrote:
> Also ich benutzte MPLAP
MPLAB , nicht MPLAP, hat nichts mit Lap-Dance zu tun ;-)

Und was soll jetzt mit der Include-Datei falsch sein?

Autor: Pascal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiss nicht obs die richtige ist, wegen dem ...-I/P.

Mein Problem ist das ich nicht weiss warum es nicht das macht was im 
Code steht, wenn ich die Werte der Schaltung messe erscheint mir alles 
richtig zu sein, nur der Controller gibt kein Ton von sich.

Der durchgeschaltete Port funktioniert nicht, ok da könnte was von der 
Schaltung her falsch sein, was ich aber nicht glaube.
Die Konstante müsste aber auf jedefall funktionieren, tut sie aber 
nicht. ;)

Autor: Rudi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Pascal: und wo liegt nun genau dein Problem? Bekommst du das nicht 
compiliert? Oder zeigt dir der Controller an PORTC nichts an? - was mich 
allerdings auch nicht wundern würde....

Rudi

Autor: Rudi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
..upps...zu spät :-)

Autor: Rudi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>"...-I/P".
bedeutet, soweit ich das noch in Erinnerung habe, nichts anderes als 
'I=Industriebereich, sprich Temperaturbereich und P=Plastik-Gehäuse'

nein, die ausgewählte Header-Datei ist richtig

Autor: was-willst-du (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> was ich aber nicht glaube.

Glauben ist in der E-Technik immer der falsche Ansatz.
Der Schaltplan kann ja nicht die Welt sein. Wie wärs mit posten?

Außerdem wurden vor langer Zeit Meßmittel erfunden. Ganz simpel wäre ein 
Multimeter.

Schon mal ins Datenblatt geschaut, was -I/P bedeutet ?

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pascal wrote:
> Ich weiss nicht obs die richtige ist, wegen dem ...-I/P.

Passt schon, das I steht für Industrielle Ausführung (betr. 
Temperaturbereich), das P für ein Plastikgehäuse im DIL-Format.

> Mein Problem ist das ich nicht weiss warum es nicht das macht was im
> Code steht, wenn ich die Werte der Schaltung messe erscheint mir alles
> richtig zu sein, nur der Controller gibt kein Ton von sich.

Wo ist denn der Lautsprecher angeschlossen?
Im Ernst: Welche Werte der Schaltung misst Du?

> Der durchgeschaltete Port funktioniert nicht, ok da könnte was von der
> Schaltung her falsch sein, was ich aber nicht glaube.
> Die Konstante müsste aber auf jedefall funktionieren, tut sie aber
> nicht. ;)

Hast Du das Ding mal im Simulator versucht?

Ein häufiges Problem ist oft auch der Oszillator.
Schau auch mal bei http://www.sprut.de/electronic/pic/fallen/fallen.html
Wie sieht Deine Schaltung aus (Schema, ev. Foto)?

Autor: Pascal (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@was-willst-du: Was ich will steht da. Wie ich bereitssagte ist die 
Beschaltung nicht mein Problem, das habe ich schon gemessen mit einem 
Multimeter man mag es kaum glauben.

Hier Skizze vom Schaltplan

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es fehlen:
- Der Oszillator
- zwischen 5V und GND, also Pin 11-12 und 31-32 jeweils ein 100nF 
Kondensator

Leider scheint dieser PIC keinen internen Oszillator zu haben.

Autor: Pascal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, das würde jedenfalls alles erklären. Ich bin davon ausgegangen das 
er einen internen Oszillator hat.

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pascal wrote:
> Hm, das würde jedenfalls alles erklären. Ich bin davon ausgegangen das
> er einen internen Oszillator hat.

Selbst dann, Du müsstest ihn einschalten:

#pragma config OSC = xxxxxx


Und bevor Du dann feststellst, dass etwas mit RA0 nicht stimmt, solltest 
Du noch den obigen Link durchlesen.

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.