Hai...i tried to send the letter 'L','S','R' from matlab just opening in command line and typing...
se=serial('COM7'); set(se,'BaudRate',9600); fopen(se); fprintf(se,'%c','L','async'); fclose(se)
in matlab uc(at89c51)...and in response it should change its port settings accordingly... Here is my code...
#include<reg51.h> sbit mlp=P1^0; sbit mln=P1^1; sbit mrp=P1^2; sbit mrn=P1^3; void main(void) { char i; SCON=0x50; // to receive and transmitt serially TMOD=0x20; // timer in mode 2 8 bit auto reload mode TH1=-3; // baud rate 9600 TR1 = 1; while(1) { if(TI==1) TI=0; else if(RI ==1) { i=SBUF; RI=0; } if(i=='S') { mlp=mrp=1; mrn=mln=0; } else if(i=='L') { mlp=mrn=1; mrp=mln=0; } else if(i=='R') { mlp=mrn=0; mrp=mln=1; } else { mlp=mrn=0; mrp=mln=0; } } }
I have my uc connections on bread board...and i dnt knw wat is the Tx,Rx pin in my connector... So what i did was put a 2k Resistor in between so that not to fry the ckt accidentatally in case i changed the pins...the character is not at all being sent...the four pins are in 0 condition...see the ELSE part...in abv prgm... Please help... re soon...please....
thank u for replying...now is this program okay???
#include<reg51.h> sbit mlp=P1^0; sbit mln=P1^1; sbit mrp=P1^2; sbit mrn=P1^3; void main(void) { char i='\0'; SCON=0x50; // to receive and transmitt serially TMOD=0x20; // timer in mode 2 8 bit auto reload mode TH1=-3; // baud rate 9600 TR1 = 1; while(1) { if(TI==1) { TI=0; } else if(RI ==1) { i=SBUF; if(i=='S') { mlp=mrp=1; mrn=mln=0; } else if(i=='L') { mlp=mrn=1; mrp=mln=0; } else if(i=='R') { mlp=mrn=0; mrp=mln=1; } else { mlp=mrn=0; mrp=mln=0; } RI=0; } } }
i still dint get the o/p...i have a cheap usb to serial converter along with transreceiver and my friend said he even did interrupts with this cable....so i dnt tink that wd be a problem.... and i didnt chk o/p of serial com still to do....tel me f dis prog is okay??? also for serial communication do we have to mess with dat ale and psen pins...or anything out of ordinary u wd do for normal line follower???
also please note that all the above program...simulated prefectly in keil....
dnt tink wd chk tel f dis prog dat u wd
I will copy your idea saving on typing and type 'no' instead of 'yes'
Erik