coolbody
Newbie level 2
hi
I have a project about voice recognition project. I use pic16f877 and easyvr cards.I have a small problem between these cards.Main problem is ;
When I said my SD commands which loaded with Easyvr orginal program, it send " r " from serial communication. this is good. it means that easyvr can understand my sd commands. I added all my command in " Group 1 " .
I have 10 commands..
1) Camera
2) LED
3) TV
....
.
.
.
10) Fan
when I said command as " LED " , it should send me a command as " B " . But can not send. always sends " r "
when I said command as " FAN " , it should send me a command as" K " . But can not send.always sends " r "
Easyvr can understand my Sd commands very good.
why it never send A, B, C ................... K . why it send me always " r " . After r data , it should send me A,B, C .....
I added my code in the below. Can you check my code and say my mistakes please..
****************************************************************
void main ( )
{ int i;
setup_psp(PSP_DISABLED);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_CCP1(CCP_OFF);
setup_CCP2(CCP_OFF);
output_low(pin_c5);
lcd_init();
enable_interrupts(GLOBAL);
while(1) //
{
//printf("%c",datas);
delay_ms(50);
printf("b");
enable_interrupts(int_rda);
if (datas =='o' ){goto don;}
}
don:
while(1){
delay_ms(50);
printf("s");
printf("B");
enable_interrupts(int_rda);
if (datas =='o' ){goto don1;}
}
don1:
delay_ms(3000);
printf("c");
//delay_ms(20);
printf("B");
delay_ms(20);
printf(" ");
delay_ms(200);
while(1){
delay_ms(20);
printf("o");
printf("B");
if (datas =='o' ){goto don2a;}
}
don2a:
while(1){
delay_ms(200);
printf("v");
printf("B");
if (datas =='o' ){goto don2;}
}
don2:
while(1){
enable_interrupts(int_rda);
delay_ms(3000);
printf("d");
printf("B");
if (datas=='s') {
delay_ms(100);
printf (" ");
} // read
if (datas=='r') { // recognize word
delay_ms(30);
printf (" "); // space acknowledge s, then it will send out a letter anwhere from A-K, 0-10
for(i=2; i<=11; i++)
delay_ms (20);
printf("d");
printf("B");
} // read
if (datas=='t') {
for(i=2; i<=11; i++)
delay_ms (20);
printf("d");
printf("B");
} // read
if (datas=='e') {
for(i=2; i<=11; i++)
delay_ms (20);
printf("d");
printf("B");
} // read
}
}
If you help me I will be so happy...
I think I have small mistake. can you show my mistake please...
best wishes...
I have a project about voice recognition project. I use pic16f877 and easyvr cards.I have a small problem between these cards.Main problem is ;
When I said my SD commands which loaded with Easyvr orginal program, it send " r " from serial communication. this is good. it means that easyvr can understand my sd commands. I added all my command in " Group 1 " .
I have 10 commands..
1) Camera
2) LED
3) TV
....
.
.
.
10) Fan
when I said command as " LED " , it should send me a command as " B " . But can not send. always sends " r "
when I said command as " FAN " , it should send me a command as" K " . But can not send.always sends " r "
Easyvr can understand my Sd commands very good.
why it never send A, B, C ................... K . why it send me always " r " . After r data , it should send me A,B, C .....
I added my code in the below. Can you check my code and say my mistakes please..
****************************************************************
void main ( )
{ int i;
setup_psp(PSP_DISABLED);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_CCP1(CCP_OFF);
setup_CCP2(CCP_OFF);
output_low(pin_c5);
lcd_init();
enable_interrupts(GLOBAL);
while(1) //
{
//printf("%c",datas);
delay_ms(50);
printf("b");
enable_interrupts(int_rda);
if (datas =='o' ){goto don;}
}
don:
while(1){
delay_ms(50);
printf("s");
printf("B");
enable_interrupts(int_rda);
if (datas =='o' ){goto don1;}
}
don1:
delay_ms(3000);
printf("c");
//delay_ms(20);
printf("B");
delay_ms(20);
printf(" ");
delay_ms(200);
while(1){
delay_ms(20);
printf("o");
printf("B");
if (datas =='o' ){goto don2a;}
}
don2a:
while(1){
delay_ms(200);
printf("v");
printf("B");
if (datas =='o' ){goto don2;}
}
don2:
while(1){
enable_interrupts(int_rda);
delay_ms(3000);
printf("d");
printf("B");
if (datas=='s') {
delay_ms(100);
printf (" ");
} // read
if (datas=='r') { // recognize word
delay_ms(30);
printf (" "); // space acknowledge s, then it will send out a letter anwhere from A-K, 0-10
for(i=2; i<=11; i++)
delay_ms (20);
printf("d");
printf("B");
} // read
if (datas=='t') {
for(i=2; i<=11; i++)
delay_ms (20);
printf("d");
printf("B");
} // read
if (datas=='e') {
for(i=2; i<=11; i++)
delay_ms (20);
printf("d");
printf("B");
} // read
}
}
If you help me I will be so happy...
I think I have small mistake. can you show my mistake please...
best wishes...