#include <reg51.h>
#include "_LCD_R8C.c"
#define INPUT_LENGTH 11
int main()
{
char input[INPUT_LENGTH]; /* The input from the serial port */
int input_pos = 0; /* Current position to write in the input buffer */
lcd_init();
lcd_clear();
SCON = 0x50;
TMOD = 0x20; /* timer 1, mode 2, 8-bit reload */
TH1 = 0xFD; /* reload value for 2400 baud */
TR1 = 1;
TI = 1;
RI = 1;
while(1)
{
/* read the next character from the serial port */
if(input_pos < INPUT_LENGTH) /* check for buffer overflow */
{
input[input_pos] = getCharacter();
lcd_print_b(input[input_post]); /* only makes sense to print each character once */
input_pos++;
}
}
char getCharacter (void)
{
char chr /* variable to hold the new character */
while (RI != 1)
;
chr = SBUF;
RI = 0;
return(chr);
}
I am not able to find out the mistake .. I want to know where is the mistake?
2 Replies - 151 Views - Last Post: 07 September 2012 - 12:56 AM
#1
I am getting display as 255 on lcd instead of $0016224943.
Posted 06 September 2012 - 10:49 PM
Replies To: I am getting display as 255 on lcd instead of $0016224943.
#2
Re: I am getting display as 255 on lcd instead of $0016224943.
Posted 06 September 2012 - 10:56 PM
Please put your code within the code tags. It's clear as day within the textbox that you are typing in.
How do you know that getCharacter() is not getting 255 from SBUF?
What have you done to try to debug your program?
How do you know that getCharacter() is not getting 255 from SBUF?
What have you done to try to debug your program?
#3
Re: I am getting display as 255 on lcd instead of $0016224943.
Posted 07 September 2012 - 12:56 AM
Page 1 of 1
|
|

New Topic/Question
This topic is locked



MultiQuote





|