Satt här ikväll och skulle göra ett litet snabblabb. För att bekräfta vissa funktioner så började jag med att "få igång knappen", och pungspark direkt.
Använder MikroC Pro for PIC och LPC Demo-kortet som kom med PICKit2:an. Det är också med denna jag programmerar och matar kortet med.
Programmet ser ut som nedan:
Kod: Markera allt
#define P_BUTTON PORTA.B3
#define POT PORTA.B0
#define LED_1 PORTC.B0
void init() {
OSCCON = 0b01110000;
PORTA = 0;
PORTB = 0;
PORTC = 0;
TRISA = 0b00001001;
TRISB = 0;
TRISC = 0;
CM1CON0 = 0;
CM2CON0 = 0;
ADCON0 = 0;
ANSEL = 0;
ANSELH = 0;
}
void main() {
init();
while(1) {
LED_1 = P_BUTTON;
}
}
Ger jag värdet "1" till LED_1 så tänds den.
Ställer jag också om till tex RA1 och använder en kabel som ställer ingången hög så tänds LED:en. Problemet ligger alltså i RA3.
Efter en del googlande så kan det vara så att det hänger ihop med att RA3 också är /MCLR och används vid programmeringen. Tydligen finns det också någon inställning i MPLAB där man säkerställer att RA3 återställs till tri-state, men hur kommer man runt det här om jag inte använder MPLAB? Om det är det som är problemet.
EDIT: Har även mätt på RA3, och knappen verkar helt ok. Hög nivå är 4,9V och låg är 0,2V.
EDIT2: Läste även nedan i PICkit2:ans manual nu... Men vad är det man ställer in egentligen? Kan man inte göra det på något annat sätt än "genom IDE:t"???