Hi All i want following string of bytes to be send by the CPU 80C51RD2 serial port:0xba,0x02,0x01,0xb9 statement:
printf("%c%c%c%c",stxi,select_lnth,select_cmd_char,select_bcc);
unsigned int loop; unsigned char buf[4]; sprintf(buf,"%c%c%c%c",stxi,select_lnth,select_cmd_char,select_bcc); for(loop=0;loop<=4;loop++) printf("%c",buf[loop]);
If you have select_bcc declared as an integer type rather than a char type you may well get this sort of result.
Are you waiting one character time after printf returns to be sure the character is transmitted? The printf and putchar functions return before the last character is actually shifted out the serial port. If you use the simulator and you set a breakpoint immediately after the printf function exits, the last character will not be sent out the serial port. Jon
i have defined it as variable of type char
i was using simulator to see behaviour of routines and serial window 1 to see the o/p since routines where not behaving as desired,when loaded in the target.