Sida 1 av 1

Läsa av hög etta PIC18f4550

Postat: 17 april 2011, 10:29:58
av danielr112
Det jag vill göra är alltså att när jag får en signal in på enna pinne tända en led på en annan pinne. Hmm

PIC18F4550 i detta fallet. (Overkill ja men det var den jag hade till övers.) Och nåt måste jag missat.
Kodat i Mikroc Pro samt använder mig av Pickit2.
Exempelkod:

Kod: Markera allt

void main() {

CMCON = 0;            // Disable comparators
ADCON1 = 0x0E;     // disable AD
TRISA1_bit = 0;   //Sätt led till output
TRISA3_bit = 1;     // sätt input på led sensor
//TRISA = 0b00010100; //Same as the 2 above.

TRISD = 0;  //D= output for status led
do {
            //if (PORTA.F3) { RA1_bit = 1; } else { RA1_bit = 0; }
            RA1_bit = RA3_bit;

            RD0_bit = ~RD0_bit;  // Blink status led so i can see that it is alive. 
            delay_ms(50);
} while (1);
}
Så kör jag just nu.. Inkopplat har jag bara skickat in +5v på ingången. Har kopplat ett pulldown motstånd för att den inte ska vara flytande. Men vad har jag missat? Tycker jag har läst manualen men det står ärligt still. Har ju gjort detta innan. Får förmodligen mothugg om att jag inte läst tillräkligt men det har jag kanske inte?

Re: Läsa av hög etta PIC18f4550

Postat: 17 april 2011, 11:05:49
av danielr112
Efter att ha läst manualen ett par ggr till så insåg att jag har skrivit fel i koden totalt. Vet inte hur jag slarvart bort mig på inställningen på komparatorn.

Satte den till 0 när den borde vara 0b000111 alt 0x07... Så nu funkar det ivf.

Re: Läsa av hög etta PIC18f4550

Postat: 17 april 2011, 12:28:35
av Icecap
Och just det fel är synnerligt vanligt... Många (även någon som bor här i huset) anser att 0 = avstängd...

Re: Läsa av hög etta PIC18f4550

Postat: 17 april 2011, 13:41:12
av sodjan
Generellt så var/är just 0x07 ett vanligt värde på de lite
äldre modeller där konfigureringen av analoga pinnar inte
sker individuellt utan i grupper av pinnar. På de nyare där
man kan sätta varje ANx pinne på/av individuellt så är det
vanligt att just 0x00 anger att alla ANx pinner av av.