Forum: Mikrocontroller und Digitale Elektronik PIC16F1824 TRISA fehlfunktion?


von Markus R. (Firma: tu wien) (specht)


Lesenswert?

guten morgen alle zusammen

ich habe vor kurzem begonnen auf PIC16 controller zu programmieren und 
bin dabei auf ein komisches phänomen gestossen.
folgenden code habe ich in der endlosschleife stehen:

RA2 = 0;
TRISA2 = 0;
TRISA2 = 1;

meiner Meinung nach dürfte ich am Port eigentlich nichts sehen.
Tatsächlich bekomme ich aber eine kurvenform die ähnlich wie ein 
sägezahn aussieht, wobei die amplitude ca 4V (bei 5V betriebsspannung) 
ist und die zeit in der der "sägezahn" von 0 auf 4V geht ist ca 4µs.

das ganze passiert immer wenn ich den pin als eingang setzte (also 
TRISA2 = 1;)

es wäre nett, wenn mir wer sagen könnte, ob ich da irgendetwas falsch 
mache, oder was der grund dafür ist.

vielen dank im schonmal im vorraus

mfg markus

von Uwe N. (ulegan)


Lesenswert?

Die Frage ist halt, welchen Pegel ein offener Eingang hat.
Offenbar wird der langsam auf Highpegel gezogen. Kann ein interner 
Pullup-Widerstand sein, oder einfach Leckströme.
Was macht das WPUA-Register? Dort ist per default ein 'Weak Pullup' 
aktiviert. Allerdings werden alle Pullup's im OPTION_REG per default 
abgeschaltet.

Uwe

von PIC N. (eigo) Benutzerseite


Lesenswert?

Hi Markus,
dein Pin A2 hat wahrscheinlich kein Potential, sprich Du schaltest ihn 
als Eingang hochohmig aber hast ihn weder gegen VDD oder VSS geschaltet, 
dann floatet der Ausgangstreiber.

Stichwort "floaten"

Viele Grüße
Nico

von Marc Neujahr (Gast)


Lesenswert?

Laut Datenblatt 
(http://ww1.microchip.com/downloads/en/DeviceDoc/41419B.pdf) liegen auf 
dem Pin RA2 noch dieverse andere Funktionen, z.B. AN1, CPS1 usw.

Bitte überprüf, ob all diese anderen Funktionen auch tatsächlich 
abgeschaltet sind. Bei Microchip sollte man als erstes insbesondere die 
analogen Funktionen (die per default meist an sind) ausschalten.

Der Sägezahn deutet an der Stelle auf die vorhandene Funktion als 
kapazitive Tastatur hin.

Gruß Marc

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.