marcudan
Joined: 01 Dec 2012 Posts: 2
|
Problem with capsense |
Posted: Sat Dec 01, 2012 3:05 pm |
|
|
I'm trying to make the LED (pin_a6) to light while I'm with the finger on the button (c == 'V') but it's not working.
Please help me.
Code: |
#include <16F1827.h>
#fuses INTRC_IO,NOWDT,NOPROTECT,NOMCLR
#use delay (internal=8000000)
#use fast_io (A)
#use touchpad(scantime=40ms,threshold=6,RANGE=H,PIN_B1='J',PIN_B2='X',PIN_B3='S',PIN_B4='A',PIN_B5='V')
void main()
{
set_tris_a(0X00);
setup_adc_ports(NO_ANALOGS);
delay_ms(500);
output_low(PIN_A0);
output_low(PIN_A1);
output_low(PIN_A2);
output_low(PIN_A3);
output_low(PIN_A4);
output_low(PIN_A5);
output_low(PIN_A6);
output_low(PIN_A7);
char k=0;
char c=0;
enable_interrupts(GLOBAL);
TOUCHPAD_STATE(1);
while(TRUE)
{
delay_ms(300);
c=0;
if (k==0)
k=1;
if (k==5)
k=4;
if (k==1)
{ output_low(PIN_A7);
output_low(PIN_A4);
output_low(PIN_A3);
output_low(PIN_A2);
}
if (k==2)
{ output_high(PIN_A7);
output_high(PIN_A4);
output_low(PIN_A3);
output_low(PIN_A2);
}
if (k==3)
{ output_high(PIN_A7);
output_high(PIN_A4);
output_high(PIN_A3);
output_low(PIN_A2);
}
if (k==4)
{ output_high(PIN_A7);
output_high(PIN_A4);
output_low(PIN_A3);
output_high(PIN_A2);
}
//c=0;
if(touchpad_hit())
{
c=touchpad_getc();
}
if (c=='J')
{
k=k-1;
delay_ms(300);
}
if (c=='S')
{
k=k+1;
delay_ms(300);
}
if (c=='A')
{
output_high(PIN_A1);
delay_ms(1000);
}
if (c=='X')
{
output_high(PIN_A0);
delay_ms(1000);
}
if (c=='V')
{
output_high(PIN_A6);
// while (c!='V');
delay_ms(1000);
}
output_low(PIN_A0);
output_low(PIN_A1);
output_low(PIN_A6);
}
} |
|
|