ragav4456
Full Member level 4
In this code is working in Proteus simulation but didnt work in HYPER Terminal. What is the reason?
But serial port working in some other application. What is the problem?
But serial port working in some other application. What is the problem?
Code:
void putrs1USART(const char *data);
void putrsUSART(const char *data);
void putByteUSART(unsigned char data);
unsigned char a=33,b=0,udata,i;
void main()
{
SPBRG = 129; // 9600 baud @ 20MHz
TXSTA = 0x24; // setup USART transmit
RCSTA = 0x90; // setup USART receive
PORTC = 0; // Clear PORTC
TRISC = 0x80; //
while(1)
{
putrsUSART("\r\n\ UART");
SPBRG=SPBRG+1;
if(RCIF)
{
udata = RCREG;
putByteUSART(udata); //send char back
for(i=0;i<5;i++)
{
putrsUSART("\r\n\ 1234567890ABCDEFGHIJKLMNOPRSTVZXYQW");
putrs1USART("\r\n\ 1234567890abcdefghijklmnoprstvzxyqw");
putByteUSART(10);
putByteUSART(13);
}
}
}
}
void putrsUSART(const char *data)
{
do
{
while(!(TXSTA & 0x02));
TXREG = *data;
} while( *data++ );
}
void putrs1USART(const char *data)
{
do
{
while(!TXIF);
TXREG = *data;
} while( *data++ );
}
void putByteUSART(unsigned char data)
{
while(!(TXSTA & 0x02));
TXREG = data;
}