Forum: Mikrocontroller und Digitale Elektronik pic18f4685 portb 4 nicht funktionsfähig


von morph (Gast)


Lesenswert?

#define _PIC18xxx
#include <p18f4685.h>
#include <delays.h>
//#include <usart.h>
//#include <adc.h>

void main(void)
{
  ADCON1 = 0x0F;

//        76543210
  TRISB = 0x11001111;
  PORTB = 0;
  LATB = 0;


  while(1)
  {
//         76543210
    LATB = 0b00100000;
    Delay10KTCYx(100);
    LATB = 0b00010000;
    Delay10KTCYx(100);
  }

}

das is der gesamte quelltext

port 5 funktioniert, am 4er wird nichts ausgegeben und ich finde einfach 
keine lösung im netz :|

wobei das kann an der falschen fragestellung liegen, eventuell wisst ihr 
was?

von Andreas R. (blackpuma)


Lesenswert?

Schau mal ins Datenblatt. Vielleicht kann der PIN nur als Eingang 
verwendet werden. Schau mal unter TRISB. Vielleicht steht da nur r und 
nicht r/w.

LG
Andreas

von morph (Gast)


Lesenswert?

gute idee, leider kein zusammenhang

tris ist vollkommen schreibbar.

weiterer auszug aus dem datenblatt:

RB4/KBI0/AN9

RB4 OUT 0 DIG LATB<4> data output.

IN 1 TTL PORTB<4> data input. Weak pull-up available only in this mode.

KBI0 IN 1 TTL Interrupt-on-pin change.

AN9 IN 1 ANA A/D input channel 9. Enabled on POR, this analog input 
overrides
the digital input (read as clear – low level).

dennoch danke für die idee, das hatte ich noch gar nicht angesehen :)

von tastendrücker (Gast)


Lesenswert?

>AN9 IN 1 ANA A/D input channel 9. Enabled on POR,

Hast du das beachtet (Port auf Digital I/O geschaltet)?

von tastendrücker (Gast)


Lesenswert?

Ooops, hatte ich nicht gesehen...

von morph (Gast)


Lesenswert?

sogar doppelt :)

mit der configuration und dann per ADCON nochmal, da es eben nicht 
wirklich funktioniert hat.

was noch sein könnte, is das die platine nen fehler hat. da seh ich mich 
grad durchs layout, aber das erscheint mir unwahrscheinlich.

von tastendrücker (Gast)


Lesenswert?

Was mich wundert: PORTB hat intere Pull-Ups, es steht aber nirgends, das 
die Pins Open-Collector sind???  Schalte doch mal die Pull-Ups ein.

von Master S. (snowman)


Lesenswert?

wenn ich mich recht erinnere, ist nur RA4 open-collector

von Andreas R. (blackpuma)


Lesenswert?

Normal ist bei den PICs immer das Port B mit Pullups versehen.

Da hab ich gleich ne kurze Frage: Kann ich an jedem PIN einen Taster 
anschließen?

von morph (Gast)


Lesenswert?

jup, eine seite taster, eine masse, was das betrifft sind die pullups 
wirklich praktisch.

aber das is nicht mein thema ;)

ich brauch 5V also source aus dem pin, sonst wird das nichts mit der led 
:D

ich bin keinen schritt weiter, außer das ich das layout ausschließen 
kann, ebenso die led, beides korrekt ausgeführt.

von Meister E. (edson)


Lesenswert?

Entweder ist der Port verstorben, was ich nicht glaube, oder es liegt an 
der Config. Wie ist denn CONFIG4L, LVP eingestellt?

Gruss,
Edson

von morph (Gast)


Lesenswert?

lvp ist off, beschreibe den pic per (original) icd2 ohne lvp.

von Sven S. (stepp64) Benutzerseite


Lesenswert?

Eventuell hat es auch was mit den Configurationsbits zu tun.

Es gibt im Configurationsbyte CONFIG3H das Bit1 PBADEN:

bit 1 PBADEN: PORTB A/D Enable bit
(Affects ADCON1 Reset state. ADCON1 controls PORTB<4:0> pin 
configuration.)
1 = PORTB<4:0> pins are configured as analog input channels on Reset
0 = PORTB<4:0> pins are configured as digital I/O on Reset

Mehr fällt mir dazu auch nicht ein.

Sven

von Meister E. (edson)


Lesenswert?

>>>AN9 IN 1 ANA A/D input channel 9. Enabled on POR,

>>Hast du das beachtet (Port auf Digital I/O geschaltet)?

>sogar doppelt :)

>mit der configuration und dann per ADCON nochmal, da es eben nicht
>wirklich funktioniert hat.

Wenn du die Config in MPLAB einstellst, darf dort das Häkchen 
'Configuration bits set in code' nicht gesetzt sein.

>ich bin keinen schritt weiter, außer das ich das layout ausschließen
>kann, ebenso die led, beides korrekt ausgeführt.


>lvp ist off, beschreibe den pic per (original) icd2 ohne lvp.

Viel bleibt ja nicht mehr übrig...

von morph (Gast)


Lesenswert?

also ich hab meiner meinung nach auch alles durch

da dies der erste schritt auf die pic18 war, dachte ich, ich hab vl ne 
falle übersehen wo wer anderer einfach drüber lächelt.

blöd nur das die platine bereits bestückt ist, solangs der einzige 
fehler ist, dass die dual-led nur grün leuchtet, statt grün, rot, 
orange, dann belasse ichs daweil mal dabei :)

dennoch herzlichen dank!

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.