Ive tried to move data from Sbuf to Acc..... Ive tried using this code... whil;e debuggin the code ive used the serial window to pass data.... my main aim is to compare data that i recieve from the Rxd pin with memory
#include<stdio.h> #include<reg51f.h>
unsigned char c ;
char getchar() { while( RI != 0 ) { c = SBUF; RI = 0; } return(c); }
void main() { unsigned char b; b = getchar(); //printf("%c",&b );
B = b; }
ive also tried using _getkey().. and getchar directly.
ive tried using other registers as well as variables too..
I ask again: Are you programming in C or not? Stay away from any processor registers when you program in C. It is only the SFR and ordinary, plain, boring C variables you should think about. C is a "complete" language so a normal user can manage just about anything without the need for assembler.
#include<stdio.h> #include<reg51f.h> void recept() { // S0BUF = getchar(); dataio = _getkey(); B = dataio; // Check the value of dataio nd call appropriate functions switch( SBUF ) { case 0x001: //dataio <= 0x000, to test first condition to run motor forward break; case 0x002: //dataio == 0x001, to test conditon 2, turn right // xmission(); break; case 0x003: //dataio == 0x002, to test condition 3, turn left break; case 0x004: // stop break; case 0x005: // increment speed break; case 0x006: // decrement speed break; case 0x007: // brake!!!!!! break; case 0x008: // vision camera up smv_u(); break; case 0x009: // vision camera down smv_d(); break; case 0x00a: // vision camera right smv_r(); break; case 0x0b: // vision camera left smv_l(); break; case 0x0c: // mine plough down break; case 0x0d: // mine plough up break; } } void main() { initialize(); while(1) { if ( RI == 1 ) { recept(); } }
Im tryin to use registers just to check values.. otherwise register are not used in my code I am declarling variables... I am using 'C' language, Sorry for confusing you last time.... :) Thnaks for replying :)
yes i have same problem last time and got error.
when you have the answer pleaze post for him and error can be removed from file.
with c i said acc can error for others.
That code doesn't actually seem to do anything at all!
What do you think that it should do? What does it actually do? What study, tests, debugging, etc have you done to account for the difference? Have you tried it in the Simulator?
Have you studied the Keil documention and examples?
The code is full of commented-out stuff, and stuff which has no fucntion. You need to cut it down to the smallest, complete, compilable example that illustrates you problem.
4m whatever information you have provided here, I think u don hav to check for RI in main func call your func directly without RI,which is recept(); n switch func is in your hands based on the input.......
Because RI occurs only when your character is received on Rx pin. Again after receiving your character u are asking another through getkey().... so,please check it once.