导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→求助!!!!!!!!1

* 27424: 求助!!!!!!!!1

   guest 
guest发表的帖子 

 求助!!!!!!!!1
这是我用查表法做的一个收发数据的程序。大虾能不能帮我用中断来做。因为我是第一次编程。很急!!!!!!!在这先谢谢大虾。我的邮箱是nuowei_37@163.com

#pragma DEBUG OBJECTEXTEND CODE 
#include  <stdio.h>  
#include  <reg51.h>  


int_port1()
{TMOD=0x20;   //T1 mode 2//
 SCON=0x50;
 TH1=0xFD;    //baud=9600//
 TL1=0xFD;
 PCON=0x00;
 IE=0x98;  
}


struct header

   unsigned int destination,opcode,reserve,length,cs;
 
}header1={0x01,0x02,0x10,0x01};

tx_header()        // transmit to dsp//  
{
 header1.cs=header1.destination^header1.opcode^header1.reserve^header1.length^0xaa; 
 SBUF=header1.destination;
 TI=0;
 while(!TI);
 TI=0;
 SBUF=header1.opcode;
 while(!TI);
 TI=0;
 SBUF=header1.reserve;
 while(!TI);
 TI=0;
 SBUF=header1.length;
 while(!TI);
 TI=0;

 SBUF=header1.cs;
 while(!TI);
 TI=0;
}

struct rheader
{
  unsigned int destination,opcode,ack,length,cs;
 
}rheader1;


rx_rheader()        // receive from dsp//
{
 RI=0;
 while(!RI);
 rheader1.destination=SBUF;
 RI=0;
 while(!RI);
 rheader1.opcode=SBUF;
 RI=0;
 while(!RI);
 rheader1.ack=SBUF;
 RI=0;
 while(!RI);
 rheader1.length=SBUF;
 RI=0;
 while(!RI);
 rheader1.cs=SBUF;
 RI=0;
 rheader1.cs=rheader1.destination^rheader1.opcode^rheader1.ack^rheader1.length^0xaa;

}

 

void main(void)
{
 int_port1();
  interrupt
 tx_header();
 rx_rheader();
 while(1);
 }

发表时间:2003年4月25日16:28:41

  
回复该帖

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

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

[上一篇帖子]:help!!!!!为什么我的D12晶振在正常工作时,晶振不能稳定而且显示值不定,似乎没有起振,而在复
[下一篇帖子]:返回+cpas: 0 表示模块在空闲状态返回+cpas: 0