pic 18f2550 port A als digitale output

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Corpse2
  • Registratie: Januari 2004
  • Laatst online: 07-01-2023
Ik ben bezig met een klein projectje op basis van een PIC 18f2550 microcontroller.

De bedoeling is om via software op een computer bepaalde servers in de gaten te houden en via USB enkele ledjes aan te sturen.
Op zich lijkt dit zeer basic en werkt ook grotendeels, maar ik loop wel tegen iets vreemd aan.

Op pinnen A4 en A5 hangt een weerstand en een led richting ground met de bedoeling om de led aan te zetten als de pin hoog gaat (source current). Het vreemde is dat er geen led aan gaat als ik 1 van de 2 hoog zet. Als ik daarentegen zowel A4 als A5 hoog zet gaan beide leds aan...

Nu heb ik al wat zitten zoeken, maar nog niet echt een goede verklaring kunnen vinden. Sommigen spreken van open-drain of open-collector pinnen maar in de datasheet vind ik hierover niets terug.

ik gebruik de CCS compiler. In de code heb ik de analoge inputs en comparators uitgeschakeld.
pinnen hoog/laag zetten doe ik met:
output_bit(PIN_A4, 1);

Heeft iemand een verklaring voor dit fenomeen? En een oplossing?
Ik zie misschien iets triviaal over het hoofd }:O

keep trying...


Acties:
  • 0 Henk 'm!

  • technocow
  • Registratie: Mei 2002
  • Laatst online: 15-07 20:22
ik heb hetzelfde probleem gehad met een 16f87x controller en daarbij kunnen de pinnen op poort A alleen sinken dus omlaag trekken. (Heeft denk ik te maken met de ADC op poort A)
In mijn geval had ik een pullup naar de + en stuurde ik een transistor aan met:
aan:
code:
1
 output_float(PIN_A?);

uit:
code:
1
 output_low(PIN_A?);

Acties:
  • 0 Henk 'm!

  • Corpse2
  • Registratie: Januari 2004
  • Laatst online: 07-01-2023
staat er in de datasheet iets dat hierop wijst?
Ik vind niet direct iets terug over het al dan niet kunnen sourcen of sinken van stroom. Ook zijn er verschillen tussen port A bij de 16f67x en 18f2550. Bij de 16f67x staat dat de port A pinnen een interne weak pull-up hebben terwijl dit bij de 18f2550 bij port B staat.

Ik zie ook niet direct iets dat erop wijst hoe je de pinnen in specifieke situaties moet aansluiten, misschien omdat dit impliciet wordt verondersteld in sommige situaties (open-drain/collector bv)?

Niet dat ik je antwoord in twijfel wil trekken, ik ben gelijkaardige dingen op internet tegengekomen, maar ik vind het vreemd dat ik dit niet terugvind in de datasheet... (dit kan natuurlijk aan mij liggen :X )

keep trying...


Acties:
  • 0 Henk 'm!

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 12-10 06:44

Sprite_tm

Semi-Chinees

Misschien een stomme vraag, maar heb je niet gewoon domweg perongeluk die 2 pinnetjes aan elkaar kortgesloten?

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


Acties:
  • 0 Henk 'm!

Verwijderd

Geen idee hoe die CCS compiler in elkaar steekt, maar stuur je PORTA of LATA aan?

Acties:
  • 0 Henk 'm!

  • Corpse2
  • Registratie: Januari 2004
  • Laatst online: 07-01-2023
Sprite_tm schreef op maandag 18 oktober 2010 @ 08:24:
Misschien een stomme vraag, maar heb je niet gewoon domweg perongeluk die 2 pinnetjes aan elkaar kortgesloten?
hmm, hier had ik nog niet direct aan gedacht maar dit zou het gedrag wel perfect verklaren 8)7
Dit ga ik vanavond alleszins eens nakijken.

keep trying...


Acties:
  • 0 Henk 'm!

  • Corpse2
  • Registratie: Januari 2004
  • Laatst online: 07-01-2023
Sprite_tm, you were right 8)7

Ik heb een gaatjesprint gebruikt die langs beide kanten pads heeft. Blijkbaar was er bij het solderen van ze weerstanden wat tin naar de andere kant gegaan en had daar contact gemaakt. Doordat de weerstanden erboven zaten was dit moeilijk te zien.

anyway, got it working now

keep trying...

Pagina: 1