Har kikat lite på denna:
http://www.mcuexamples.com/push-buttons ... th-PIC.php
Har kopprat en pull-down resistor till RB4.
Koden ser ut så här:
Kod: Markera allt
void main (void)
{
/*Sätter RB3 till output, RB4 till input*/
TRISBbits.TRISB3 = 0;
TRISBbits.TRISB4 = 1;
while (1)
{
LATBbits.LATB3 = 0;
if (PORTBbits.RB4 == 1)
{
Delay100TCYx(100);
LATBbits.LATB3 = 1;
Delay100TCYx(100);
}
else
{
Delay100TCYx(25);
LATBbits.LATB3 = 1;
Delay100TCYx(25);
}
}
}
Som jag fattat det är LAT registren för skrivning, och PORT vilket läge porten har?
Eftersom jag satt en pull-down så är ju RB4 låg (0), men blir ju hög (1) när jag spänningsätter pinnen?
Hur som så funkar det inte. Dioden blinkar fort... Trots att jag mäter 0v mellan RB4 och GND.
Och sätter jag ström på pinnen så händer inget heller.
Vad har jag missat?