Gast
#338462
also hab ein Terminalprogramm für den 2051er, Quarz: 11,0592Mhz
Init Code:
void Init_Serial()
{
EA = 0;
TI = 0; /* clear transmit interrupt */
TR1 = 0; /* stop timer 1 */
ET1 = 0; /* disable timer 1 interrupt */
// PCON |= 0x80; /* 0x80=SMOD: set serial baudrate TMOD &= ~0xF0;
/*
clear timer 1 mode bits */
TMOD |= 0x20; /* put timer 1 into MODE 2 */
TH1 = 0xFD; // FD°
TR1 = 1; /* start timer 1 */
EA = 1; /* Enable Interrupts */
SM0 = 0;
SM1 = 1; /* serial port MODE 1 */
SM2 = 0;
REN = 1; /* enable serial receiver*/
TI = 0; /* clear transmit interrupt */
RI = 0; /* clear receiver interrupt */
ES = 1; /* enable serial interrupts */
EA = 1; /* Enable Interrupts */
}
void Send_Serial(unsigned char value)
{
SBUF = value;
SCON &= 0xFD; // Byte Zurück Senden
}
void Comm_Serial() interrupt 4
{
if (TI != 0) /* Received data interrupt */
{
TI = 0;
return;
}
if (RI != 0) /* Received data interrupt */
{
RI = 0;
Send_Serial( SBUF );
}
SCON &= 0xFC; // Clear S0 of IRF
}
So kann mir jedmand erklären warum das ding nicht Sauber das
zurückschickt was es empfängt???
0xFD sollte doch für 11,059 passen ...