#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?
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
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 :)
>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. was noch sein könnte, is das die platine nen fehler hat. da seh ich mich grad durchs layout, aber das erscheint mir unwahrscheinlich.
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.
wenn ich mich recht erinnere, ist nur RA4 open-collector
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?
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.
Entweder ist der Port verstorben, was ich nicht glaube, oder es liegt an der Config. Wie ist denn CONFIG4L, LVP eingestellt? Gruss, Edson
lvp ist off, beschreibe den pic per (original) icd2 ohne lvp.
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
>>>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...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.