jack.king

    1. 请问       但是用用T2计算器,用于波特率模式的时候      处理T2CON=0x34;//设置成波特率模式和启动TR2    对于TH2和TL2还有RACP2H和RACP2L改怎么去设置      是不是只需要对RACP2H和RACP2L赋值.     还是也要对TH2和TL2 同样设置!
    2. 请问我上面的发送和接受程序是否正确?   通信协议如下:   采用相同的波特率,双方约定,发送时,先发送一个呼叫信号(0x06)   以询问接受机是否可以接受数据,接受机收到呼叫信号后,若同意接受数据则回   发0x00作为答应信号,表示可以接受数据,否则回发0x05,表示暂不能接受数据   发送机只有在接收到接收机发回的答应信号0x00后才能将数据统一发送到接收机,   否则不断想接收机发送呼叫信号,直到接收到接收机发回的0x00的应答信号.   若接受正确,向发送机回发0x0f信号,表示正确,否则发送0xf0,表示接受到的数据出现了错误.   以上程序还是怎么改变下!
    3. 求累加和是什么意思是? 在2个单片机通讯时我看了别人写的汇编程序是用的求累加和的方法.这个方法是什么意思啊?   下面是我用C写的程序.看看是否可以? /************************************************/ /*接受程序*/   void serial(void) interrupt 4 using 3     {               while(1)         {         while(1)      //等待接受呼叫信号         {          if(RI)          break;          else          ;         }         RI=0;         if(SBUF==0x06)         break;         else         {         SBUF=0x05;    //不允许接受         TI=0;         }         }         SBUF=0x00; //允许接受         while(1)         {          if(RI)          break;          else          ;         }         total_t=SBUF;         RI=0;         j=1;        while(1)    //开始接受数据了        {                      while(1)                       {                       if(RI)                      break;                      else                        ;                        }        RI=0;        re_t=SBUF;        re_data();//(一个通过SWITCH构成的子程序)根据J的不同来确定把接受到的数据放在不同的地方         j++;        if(j==7)        break;        }     //数据发送完       } /***********************************************************/ /*接受程序*/ void txaddr(void)      {            while(1)         {           SBUF=0x06;         //发送呼叫信号0x06          while(1)    //等待发送完信号.               {              if(TI)              break;              else               ;              }              TI=0;              while(1)         //等待回答信号              {               if(RI)               break;               else               ;              }              RI=0;              if(SBUF==0x00)   //判断回答信号,否则重新发送               break;               else               ;           }           i=1;         while(1)         //开始发送数据         {         send_data();//根据I的不同来确定发送的不同的数据         SBUF=send_t         while(1)         {        if(TI)         break;         else         ;         }         TI=0;          i++;         if(i==7)         break;         }         } 但是我不知道怎么来确定数据是否发完.时候正确
    4. 就是2个单片机之间发数据和接受数据.

最近访客

< 1/1 >

统计信息

已有57人来访过

  • 芯积分:--
  • 好友:--
  • 主题:1
  • 回复:4

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言