www.mikrocontroller.net

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


Autor: morph (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Andreas Riegebauer (blackpuma)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: morph (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :)

Autor: tastendrücker (Gast)
Datum:

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

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

Autor: tastendrücker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ooops, hatte ich nicht gesehen...

Autor: morph (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: tastendrücker (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Master Snowman (snowman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn ich mich recht erinnere, ist nur RA4 open-collector

Autor: Andreas Riegebauer (blackpuma)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: morph (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Meister Eder (edson)
Datum:

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

Gruss,
Edson

Autor: morph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
lvp ist off, beschreibe den pic per (original) icd2 ohne lvp.

Autor: Sven Stefan (stepp64) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Meister Eder (edson)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: morph (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

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.