Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

EasyVR and Pic 16f877

Status
Not open for further replies.

coolbody

Newbie level 2
Joined
Jul 24, 2012
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,327
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...
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top