if i send one character from 8051 board to hyperterminal its working. suppose if i send an array to hyperterminal its not working. can anybody suggest whats wrong with my code. here is my sample code #include<reg52.h> void main() { char name; unsigned int i; char hmi[] = {'0','0','0','0','3','0','3','3'}; PCON |= 0x80; TMOD = 0x20; TH1 = 0xFD; SCON = 0x50; TR1 = 1; while(1) { while(!RI); RI = 0; name = SBUF; TI = 0; SBUF = '#'; while(!TI); for(i = 0; i < 8; i++) { TI = 0; SBUF = hmi[i]; while(!TI); } i = 0; TI = 0; SBUF = '?'; while(!TI); } } }
Is it possible that you are transmitting the contents of the array correctly but the data in the array is not what you expect? Just have a look at the array in the Watch window to check the contents. I'm not sure when the array will actually be initialised but either the start-up code or main function prologue code will do it. If that didn't succeed, then your array would contain 'garbage'. It's worth eliminating this possibility anyway.
hello Mr.Patrick, yes i checked in watch window, array content is similar to that one i initialized.