打印

串口通讯问题

[复制链接]
1195|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xsgy123|  楼主 | 2012-5-16 18:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下面是个接受串口的程序,我发送一串数组,f0 00 00 00等8个数据首位是f0,不知主程序怎么改?而且关于串口接受后这数组放在哪?怎么放?
#include <REG52.H>
#include <stdio.h>

unsigned char b;

void main (void) {


  SCON = 0x50; //REN=1允许串行接受状态,串口工作模式1   
TMOD|= 0x20; //定时器工作方式2   
PCON|= 0x80;   
//TH1 = 0xFD; //baud*2 /* reload value 19200、数据位8、停止位1。效验位无 (11.0592)  
TH1 = 0xF3; // //baud*2 /* 波特率4800、数据位8、停止位1。效验位无 (12M)
  TL1 = 0xF3;   
TR1 = 1;   
ES = 1; //开串口中断   
EA = 1; // 开总中断  

// IE = 0x0;
   
while(1)
  {  

if (RI) //RI接受中断标志
  { RI=0; //清除RI接受中断标志
b=SBUF; //SUBF接受/发送缓冲器
  }


   
}

}

相关帖子

沙发
秋天落叶| | 2012-5-16 19:04 | 只看该作者
这个程序好像只有接收的 没有发送的

使用特权

评论回复
板凳
无冕之王| | 2012-5-16 19:15 | 只看该作者
for(i = 0; i < 8;i ++)
{
  buf[i]=SBUF; //移位寄存器,数据被读出后,实现移位操作
}

使用特权

评论回复
地板
wulala| | 2012-9-12 21:37 | 只看该作者
定义一个数组直接存放啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

229

主题

2603

帖子

1

粉丝