//代码来自 单片机小精灵v1.3
//波特率9600 11.0592晶振 方式2
#include
void InitUART(void)
{
TMOD = 0x20;
SCON = 0x50;
TH1 = 0xFD;
TL1 = TH1;
PCON = 0x00;
EA = 1;
ES = 1;
TR1 = 1;
}
void SendOneByte(unsigned char c)
{
SBUF = c;
while(!TI);
TI = 0;
}
void main(void)
{
InitUART();
}
void UARTInterrupt(void) interrupt 4
{
if(RI)
{
RI = 0;
//add your code here!
}
else
TI = 0;
}
程序中是19200.
通讯不上有很多原因,你的电路不对、甚至是连线不对,也会导致通讯不上.
你可以试试跟踪你的程序,看看可否正确地接收到PC发过去的数据,先把接收程序调好,然后再调发送部分,这样才有目标.
楼主试试只发送一个字符,1或者2,不要12一起发送。如果硬件,连线没有问题应该是发送什么PC就接收到什么。
我提下问题,你看下是不是:
1、com口对不对
2、波特率在烧录程序的时候有的,你看下是否相同