Problem med io-port dspic
Postat: 2 augusti 2009, 11:39:47
Hej!
jag har ett litet underligt problem med min dspic 33f256gp506. Jag försöker driva små Leds på pinnarna RC14 och RC12 vilket inte går så bra.
Dioden är kopplade från Pinne -> restistor (1kOhm) ->Diod-> Vdd (3.3V) så att de ska lysa om man sätter pinnen låg.
Det verkar gå alldeles utmärkt att styra pinnarna ifall dessa hänger i luften. Då kan man tydligt se ett pulståg med period på 1sek (500ms låg, 500ms hög).
Kopplar jag in dioderna så blir det ett pytteliget pulståg med en period på 10ms där spänningen ligger mellan ca 0.5V och 1.3V.
Pinnarnas funktion:
pin40 (OSC2/CLKO/RC15)
pin39 (OSC1/CLKIN/RC12)
Kortet kör på 3.3V vilket borde bli en ström på 3.3/1000 = 3.3mA
Enligt databladet så ska man kunna sänka 4mA på samtliga pinnar förutom CLKOUT som kan sänka 25mA.
Har någon förslag/ideer på vad detta felet kan bero på?
jag har ett litet underligt problem med min dspic 33f256gp506. Jag försöker driva små Leds på pinnarna RC14 och RC12 vilket inte går så bra.
Dioden är kopplade från Pinne -> restistor (1kOhm) ->Diod-> Vdd (3.3V) så att de ska lysa om man sätter pinnen låg.
Det verkar gå alldeles utmärkt att styra pinnarna ifall dessa hänger i luften. Då kan man tydligt se ett pulståg med period på 1sek (500ms låg, 500ms hög).
Kopplar jag in dioderna så blir det ett pytteliget pulståg med en period på 10ms där spänningen ligger mellan ca 0.5V och 1.3V.
Kod: Markera allt
TRISCbits.TRISC14 = 0; // sätter pinnarna till Output
TRISCbits.TRISC12 = 0;
while(1)
{
timestamp = timerGetReading(); // hämtar tick-tiden
while(timerGetTimeDiff(timestamp)< U16MS_TO_TICK(500) )
{
// väntar 500ms
}
// togglar pinnarna mellan Låg och Hög
LATCbits.LATC15 = !LATCbits.LATC15;
LATCbits.LATC12 = !LATCbits.LATC12;
}
pin40 (OSC2/CLKO/RC15)
pin39 (OSC1/CLKIN/RC12)
Kortet kör på 3.3V vilket borde bli en ström på 3.3/1000 = 3.3mA
Enligt databladet så ska man kunna sänka 4mA på samtliga pinnar förutom CLKOUT som kan sänka 25mA.
Har någon förslag/ideer på vad detta felet kan bero på?