电子大神的日记本,供应链专家的功夫茶盘,在这里记录、分享与共鸣。

登录以开始

包头新书城

包头书店无线发送程序因情况特殊,改动如下

18个光盘柜

 

//--------------------------------------------- rf905
void wireless (void)
{

unsigned char cstates;
 char RF_TimeWait_count;
RF_TimeWait_count = 4;                    // 如果接收不到,每半秒发送一次,共4次。
cstates= 2;    //

do{
switch(cstates)

 case 1 :
   if (Flags.RF905test == 0)      //如果有无线,就发送无线
    cstates ++;
   else cstates = 7;              //没有无线model,就用有线。 
   break;
 case 2: 
   SetTxMode();                    //打开接收模式
   ClrWdt();
   Delay10TCYx(250);
   ClrWdt();
   Delay10TCYx(250);
  // TxPacket( RXTxBuf[1],RXTxBuf[2]);          // 把接收的数据发送给下位机。
   if ((RXTxBuf[1] == 0x31)&&(RXTxBuf[2]==0x30))
    {
    TxPacket(0x31,0x30);                   //先发10号机
    }
   else
   {
   if (RXTxBuf[1] == 0x30)
    {
    TxPacket(0x30,0x31);                       // 再发给01号机
    }

   else if (RXTxBuf[1] == 0x31)              //最后发18号机
    {
    TxPacket(0x31,0x38);
    }
   }
   
   ClrWdt();
  
   Delay10TCYx(250);
   ClrWdt();
   Delay10TCYx(250);
   ClrWdt();
      SetRxMode();                      //  发送完后进入接收模式,以节省功耗
   cstates ++;
   RF_WaitTime = 0;      // 半秒时间延时开始。
   break;
 case 3:
   SetRxMode();                      //  发送完后进入接收模式,以节省功耗
   if (RxPacket() == 1) cstates =  6;      //接收到回发的数据
   else cstates ++;          // 没有接收到回发的数据。
   break;
 case 4:
   ClrWdt();
   if (RF_WaitTime>4000)  cstates = 5;   // 等待时间超过0.5s,则再次发送。
   else cstates = 3;
   break;
 case 5:
   if ((--RF_TimeWait_count)>0) cstates = 2;  // 规定的次数没有完,则再次发送
   else
    {
    UartOut ('N');   // 发送了n次后,没有应答
    UartOut ('O');      
          UartOut ('A');
          UartOut ('s');
          UartOut ('k');
    cstates =7;
          }
   break;
 case 6:
    UartOut ('A');   // 发送正确,且接收到应答
    UartOut ('s');      
          UartOut ('k');
          UartOut ('O');
          UartOut ('K');
    cstates = 7;
    break;
 case 7:
    UsartBuffer[13]= 'R';
    UsartBuffer[14] = 'F';
    break;
}

}while(cstates != 7);            
}

博主
leejun@qingdaonews.com
山水嘉宁
每天都在开心的进步
点击跳转