51单片机用串口跟pc通信进行收发数据

2024-10-31 19:28:09
推荐回答(4个)
回答(1):

//代码来自 单片机小精灵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;
}

回答(2):

程序中是19200.
通讯不上有很多原因,你的电路不对、甚至是连线不对,也会导致通讯不上.
你可以试试跟踪你的程序,看看可否正确地接收到PC发过去的数据,先把接收程序调好,然后再调发送部分,这样才有目标.

回答(3):

楼主试试只发送一个字符,1或者2,不要12一起发送。如果硬件,连线没有问题应该是发送什么PC就接收到什么。

回答(4):

我提下问题,你看下是不是:
1、com口对不对
2、波特率在烧录程序的时候有的,你看下是否相同