akprincehbd 发表于 2011-1-12 20:50:52

STC 12C5A60s2 串口发送问题

下面这段程序我发到89c52里 通过串口调试助手 2400bps 12M晶振 发送到单片机 单片机就能把发送的十六进制数再返回来显示到串口调试助手中,并显示在P0口接的8个LED上面,但是换成STC12c5a60s2就只能在P0口上显示出来,但传不回上位机了。为什么呢?我看说明上写 12c5a60s2的串口1和51是一样的操作方式啊 为什么同样程序 能接收到 传不回来呢?

#include"STC_NEW_8051.H"

#define uchar unsigned char
#define uint unsigned int
uchar a,flag;

void main()
{
        TMOD=0x20;
        TH1=0xf3;
        TL1=0xf3;
        TR1=1;
        REN=1;
        SM0=0;
        SM1=1;
        EA=1;
        ES=1;
       
        while(1)
        {
               if(flag==1)
               {
                       ES=0;
                        SBUF=a;
                        while(!TI);
                        TI=0;
                  ES=1;
                        flag=0;
               }

        }

}

void ser() interrupt 4

{
        RI=0;
        P0=SBUF;
        a=SBUF;
        flag=1;

}

akprincehbd 发表于 2011-1-12 20:53:19

因为STC12C5A60S2速度快,想放弃89C52了,可是这个串口问题还没解决 有高手指点下吗

akprincehbd 发表于 2011-1-12 20:57:54

突然又好使了 ……

ju748 发表于 2011-1-12 22:37:23

有一个工具的~去STC的网站上找,代码自动生成工具
页: [1]
查看完整版本: STC 12C5A60s2 串口发送问题