Мне нужно передавать данные последовательно от AT89s52 до Hyperterminal PC. Для этого я сделал образец программы для печати «Hello» на гипертерминале моего ПК, запрограммировав приведенный ниже код внутри микроконтроллера 89s52 и подключив его к компьютеру через последовательный порт. Теперь, когда я открываю гипертерминал для соответствующего порта, я должен видеть «Привет», напечатанный на экране несколько раз, но на самом деле я вижу, что некоторые данные об мусоре печатаются. Это код, который я использовал.последовательный интерфейс 89s52 с Hyperterminal ... получение значений мусора
#include < AT89X52.H>
#include < STDLIB.H>
#include < STDIO.H>
unsigned int i;
void main (void)
{
TMOD = 0x20;
SCON = 0x50;
TH1 = 0xFD;
TL1 = 0xFD;
TR1 = 1;
TI = 1;
P1 = 0;
while (1)
{
puts("Hello\r");
P1 ^= 0x01; /* Toggle P1.0 each time we print */
for(i=0;i<25000;i++);
}
}
В терминале Hyper я не получаю правильный вывод i.e Привет. Вместо этого я вижу некоторых персонажей Мусора. Может ли кто-нибудь помочь в этом, пожалуйста.?
Вы сопоставили скорость передачи и количество стоповых бит на каждом конце? –
Да .. его 9600 и Стоповый бит = 1, – ACP
Покрыто довольно хорошо [на этот вопрос] (http://electronics.stackexchange.com/questions/70126/find-th1-in-at89s52-micro-controller-in- serial-communication), а также сайт, на котором вы хотите задать такие вопросы. –