导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→请各位老师和大虾们指导一下!我的8251怎么不能同时发送和接

* 104359: 请各位老师和大虾们指导一下!我的8251怎么不能同时发送和接收呢?

   优游青春 
优游青春发表的帖子 

 请各位老师和大虾们指导一下!我的8251怎么不能同时发送和接收呢?
以下是我做的89C52简单的发送和接收程序,我在电脑上用串口调试助手进行调试,示波器发现8251的rxd,txd只能有一个有波形,就是发送和接收只能进行其中一个.(新电脑串口绝对没问题,换了好几块正确的电路板都是这个问题)
请各位老师和大虾们指导一下!
#include "reg52.h"
#include "stdlib.h"
#include "absacc.h"
#include "intrins.h"
#include "test.h"
#include "math.h"
#define uchar unsigned char
#define uint  unsigned int
#define COM8251 XBYTE[0x8601]
#define DAT8251 XBYTE[0x8600]
uchar data_temp[10]={0x52,0x55,0x56,0x57,0x58,0x00};
uchar temp[10]={11,22};
 uchar m=0,n=0,k;  
uchar s;
void  initmcu(void);
void  wait(uchar p,q);    
void main(void) 
{  
    COM8251 = 0x00;
    DAT8251 = 0x00;
    DAT8251 = 0x00;
    COM8251 = 0x40;//以上为8251复位部分
    wait(11,82);
    COM8251 = 0x4e;//9600baud,1停止位,无校验,8位数据,X16
    wait(11,82);
    COM8251 = 0x35;  
    wait(11,82);   
    while(1)
 {
     m=0;
   while(data_temp[m]!=0x00)
  {
   DAT8251 = data_temp[m];//写
   temp[m] = DAT8251;
   m++;
  } 
 }
}
void  wait(uchar p,q)
{
   uchar  i,j;                //(2*j+3)*i+4
   for (i=p;i>    0;i--)
      for (j=q;j>    0;j--);
}


发表时间:2007年4月8日19:14:49

  
回复该帖

本主题共有 1 帖,分页:>>>>>该主题的所有内容[1]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:单片机通信VB做界面的上位机要与51单片机通信。 那位大哥能提供程序。 小弟谢谢了!
[下一篇帖子]:哈哈,解决了,用中断就可以了 .原来那样好象发送接受的频率不一样,相差很远,所以就不行吧,用