导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→单片机串口通讯问题!大家帮我看一下程序![5460wjh]

 *第44421篇: 单片机串口通讯问题!大家帮我看一下程序!

  
楼 主:5460wjh 2006年11月14日13:34
 单片机串口通讯问题!大家帮我看一下程序!
我最近写了一段485的通讯程序,发现通讯的时间特别长才能保证数据在通讯的时候不丢失(50ms)。大家帮我看看程序怎样优化才能减少通讯的时间(最好能减到30ms)!谢谢!
程序如下:
#include   <reg51.h>  
#define uchar unsigned char
#define unint unsigned int
#define SLAVE1  0x61            //1#从机地址

sbit RE_DE=P1^4;
char buf[4]={1,2,3,4};     
uchar point=1;
uchar add;

void serial() interrupt 4 using 1
{
 if(RI)
 {RI=0;
  add=SBUF;
 }
 if(add==SLAVE1)
  { SM2=0;                              //设置为点对点通信状态  
    RE_DE=1;                            //设置MAX483进入发送状态 
    SBUF=''s'';                          //发起始符s 
    while(TI==0);TI=0;   
 for(point=1;point  <=3;point++)          //连续发送3位数据 
 {
   SBUF=buf[point]; 
   while(TI==0);TI=0; 
  }
  SBUF=''o'';                           //发送结束符o
  while(TI==0);TI=0; 
  RE_DE=0;      }
   
}

main()
{
 TMOD=0x21;               //T/C0方式1,T/C1方式2
 TL1=0xfd;                //9600 bit/s
 TH1=0xfd;
 SCON=0x70;          //选择串口工作方式为1,打开接收允许
 PCON=0x00;
 TR1=1;
 REN=1;
 RI=0;
 ES=1;
 PS=1;
 EA=1;
 SM2=1;                   //处于地址检测状态
 RE_DE=0;
while(1);
}



>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:x5045  请教高手

[下一篇主题]:红光笔—世纪之光科技有限公司