www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ausgänge PORTA vom pic wollen nicht so recht in C


Autor: Simon A. (moony) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
ich wollte gerade die ausgänge von meinem pic16f627 testen, portb 
funktioniert einwandfrei aber bei porta sind manche immer high und 
manche immer low. in assembler funktioniert es, kann also nicht an der 
hardware liegen.
habe schon verschiedenes an der konfiguration herumprobiert aber find 
nicht raus, an was es liegt.
vielleicht muss man einige ausgänge von analog auf digital umschalten? 
wenn ja, wie geht das? kann mir jemand helfen?
C-code ist angehängt (das programm sollte led's an porta-ausgängen 
ungefähr im sekundentakt an und ausschalten, was mit portb auch 
funktioniert).

Autor: eProfi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie sieht denn der vom Compiler generierte Code aus?

Kann sein, dass bestimmte Pins für andere Funktionen belegt sind (wie 
schon vermutet ADC, SPI, I2C, Programmierung oder sonstwas)?

Wie hast Du es in ASM gelöst?

Autor: Simon A. (moony) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
das .asm file ist angehängt.

könnte sein, dass für bestimmte pins (automatisch) andere funktionen 
zugewiesen werden, nur weiß ich nicht welche und wie man sie aus macht.
bei anderen pics gibt es z.b. die variable ADCON1 aber nicht beim 
pic16f627.

in assembler hat es gereicht porta auf output zu setzen:

MOVLW  B'00000000' ;alle RA sind ausgänge
MOVWF  TRISA
BCF  STATUS,RP0 ;Switch Back to reg. Bank 0
CLRF  PORTA

naja, ich werd mich wohl noch ein bisschen durchs datasheet wühlen 
müssen :)

Autor: Simon A. (moony) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab es teilweise gelöst. mit setzen von CMCON=0x7 gehen zumindest 
manche der porta ausgänge. es hat auf jeden fall mit den 
comperator-eingängen zu tun.

Autor: Steven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

RA4 ist Open Drain und RA5(MCLR) ist nur Eingang. Darauf fällt man sehr 
leicht rein. Vor allem RA4 bildet immer mal wieder Probleme in dieser 
Hinsicht.

Autor: Simon A. (moony) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab nen großen fehler gemacht und habe die interne clock benutzt und 
MCLR deaktiviert. dadurch lässt sich der pic jetzt (mit meinem 
programmiergerät k8048) nicht mehr programmieren, falls es jemanden 
interessiert, hier ist es gut beschrieben: 
http://sprut.de/electronic/pic/fallen/fallen.html#intoscmclr

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.