Я использовал программное обеспечение KEIL для программирования микросхемы AT89C51ED2 и использовал порт USB для просмотра данных, передаваемых PUTTY.Но в PUTTY я не могу получить точную информацию.
Код выглядит нормально, COM-порт также настроен успешно, проблем с подключением схемы не было, но есть проблема вотображение замазки.
В замазке, согласно ASCII.введите должен получить б.но здесь есть q, b - r, d - t, а GPRMC - w \ SM {
У UART есть проблема?или таймер?или другой ......
Ниже приведен код и изображения
#include<reg51.h>
char uart_data;
/**
* FUNCTION_PURPOSE: This file set up uart in mode 1 (8 bits uart) with
* timer 1 in mode 2 (8 bits auto reload timer).
* FUNCTION_INPUTS: void
* FUNCTION_OUTPUTS: void
*/
void main (void)
{
PCON=0;
SCON = 0x50; /* uart in mode 1 (8 bit), REN=1 */
TMOD = 0x20 ; /* Timer 1 in mode 2 */
TH1 = 0xFD; /* 9600 Bds at 11.059MHz */
TL1 = TH1; /* 9600 Bds at 11.059MHz */
ES = 1; // Enable serial interrupt
EA = 1; /* Enable global interrupt */
TR1 = 1; /* Timer 1 run */
while(1); /* endless */
}
/**
* FUNCTION_PURPOSE: serial interrupt, echo received data.
* FUNCTION_INPUTS: P3.0(RXD) serial input
* FUNCTION_OUTPUTS: P3.1(TXD) serial output
*/
void serial_IT(void) interrupt 4
{
if (RI == 1)
{ /* if reception occur */
RI = 0; /* clear reception flag for next reception */
uart_data = SBUF; /* Read receive data */
SBUF = uart_data; /* Send back same data on uart*/
}
else TI = 0; /* if emission occur */
} /* clear emission flag for next emission*/
PUTTY
PUTTY
PUTTY