2732|1

6

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

TRF7960 [复制链接]


什么是时隙计数啊?下面代码中十六进制数字都是什么含义啊?
#include "include.h"

//*************************************************************************************************
// 功能描述 : 时隙计数使能
// 输入参数 : 无
// 返回参数 : 无
// 说    明 :
//*************************************************************************************************
void EnableSlotCounter(void)
{
    unsigned char command[2];
    command[1] = IRQMask;
    command[0] = IRQMask;
    ReadSingle(&command[1], 1);
    command[1] |= 0x01;          //En_irq_noresp
    WriteSingle(&command[0], 2);
}
//*************************************************************************************************
// 功能描述 : 禁止时隙计数
// 输入参数 : 无
// 返回参数 : 无
// 说    明 :
//*************************************************************************************************
void DisableSlotCounter(void)
{
    unsigned char buff[2];
    buff[1] = IRQMask;  
    buff[0] = IRQMask;
    ReadSingle(&buff[1], 1);
    buff[1] &= 0xfe;  
    WriteSingle(&buff[0], 2);
}
//*************************************************************************************************
// 功能描述 : 读UID号
// 输入参数 : 无
// 返回参数 : 无
// 说    明 :
//*************************************************************************************************
void ReadUID()              
{
    unsigned char i = 1,command, found = 0,a=0,j=0,b;
    unsigned int size;                          // 请求命令数据帧大小
    unsigned char NoSlots = 2;                  // 时隙总数,默认1 时隙(NoSlots = 时隙数 + 1)
    unsigned int n = 0;

        if((flags & BIT5) == 0x00)                  // 判断时隙类型  
    {      
        NoSlots = 17;  // 16 时隙
        EnableSlotCounter();
    }

    size = 3;                                   //长度 = flag + command + lenght

    buf[0] = 0x8f;                              // 复位
    buf[1] = 0x91;                              // 传送带CRC  
    buf[2] = 0x3d;                              // 连续写,从1D开始
    buf[3] = (char) (size >> 8);                // 发送的长度
    buf[4] = (char) (size << 4);                // 按15693命令格式写入FIFO
    buf[5] = flags;                 // 写FIFO ISO15693 flags
    buf[6] = 0x01;                 // 15693 之清点命令  
    buf[7] = 0x00;                              // 掩码长度  


    command = IRQStatus;
    ReadSingle(&command, 1);
    CounterSet();                 // TimerA设置
    countValue = count1ms * 20;  // 20ms

    RAWwrite(&buf[0], 8);                 // 写 FIFO
    irqCLR;                  // 清除已经存在的IRQ中断标志
    irqON;

    i_reg = 0x01;                               // 当前状态为RX状态
    startCounter;  //开启时钟A,增计数模式
    LPM0;   //等待发送完成
    for(i = 1; i < NoSlots; i ++)               // 1 或 16 时隙
    {        
        RXTXstate = 1;                 // 接收数据保存从buf[1]开始
        CounterSet();  // TimerA设置
        countValue = count1ms * 20;             //20ms
        startCounter;  // start timer up mode
        n = 0;
        LPM0;
        while(i_reg == 0x01)                    // 等待RX完成
        {      
            n++;
            if(n == 0xFFF0)
            {
                i_reg = 0x00;
                RXErrorFlag = NOERROR;
                break;
            }
        }
        if(i_reg == 0xFF)
        {   //接收到 UID
            found = 1;
             b=0;
             for(a=j;a              {
               UU[a]=buf[10-b];
               b++;
             }
           j=j+8;
        }
        command = Reset;  // FIFO 在下个时隙前必须复位
        DirectCommand(&command);
        if((NoSlots == 17) && (i < 16))         // 发送EOF(next slot)  
        {     
            command = StopDecoders;
            DirectCommand(&command);
            command = RunDecoders;
            DirectCommand(&command);
            command = TransmitNextSlot;
            DirectCommand(&command);
        }
        else if((NoSlots == 17) && (i == 16))  // 所以时隙发送完成,停止时隙计数
        {     
            DisableSlotCounter();
        }
        else if(NoSlots == 2)
            break;
    }   
    if(found)
    {   
        LED15693ON;
        for(char i = 0;i < 8;i++)                   //提取接收缓存中的数据
        {
            UID = buf[10 - i];         
        }
    }
    else
    {
        LED15693OFF;
        for(char i = 0;i < 8;i++)                  
        {
            UID = 0;         
        }        
    }
    irqOFF;
}
//*************************************************************************************************
// 功能描述 : 获取UID
// 输入参数 : 无
// 返回参数 : 无
// 说    明 :
//*************************************************************************************************
void GetUID()
{
    unsigned char   command[10];
   
    command[0] = ChipStateControl;          // 打开 RF 发射和接收
    command[1] = 0x21;                      // RFID模块RF场始能,接收始能
    command[2] = ISOControl;             // ISO15693
    command[3] = 0x02;                      // ISO15693 高速, 单载波, 4出1
    WriteSingle(command, 4);
    DelayMs(5);
   
    command[0] = ChipStateControl;
    ReadSingle(command, 1);                 // 清除 IRQs
    command[0] = ISOControl;
    ReadSingle(command, 1);                 // 清除 IRQs  
    flags = 0x06;                               //选择16个时隙
    ReadUID();                 // 发送清点命令
   
   delay(10);

    command[0] = ChipStateControl; // 关闭 RF 发射
    command[1] = 0x01;
    WriteSingle(command, 2);
    DelayMs(1);
    command[0] = IRQStatus;
    ReadSingle(command, 1);                 // 清除 IRQs
}
//*************************************************************************************************
// 功能描述 : 获取单块数据,无地址的读
// 输入参数 : 起始块
// 返回参数 : 无
// 说    明 :
//*************************************************************************************************
void ReadSingleBlock(unsigned char Block)
{
    unsigned char command, found = 0;
    unsigned int size;                          // 请求命令数据帧大小
    //unsigned char cBuf[20];         // 时隙总数,默认1 时隙(NoSlots = 时隙数 + 1)
    size=3;                          //长度 = flag + command + lenght
cBuf[0] = 0x8f; // Reset FIFO command
cBuf[1] = 0x91; // send with CRC
cBuf[2] = 0x3d; // write continuous from register 1D
cBuf[3] = (char)(size>>8);// Data for register 1D, data length
cBuf[4] = (char)(size<<4);// Data for register 1E
cBuf[5] = 0x00;// ISO15693 flag with Option flag set
cBuf[6] = 0x20; // Read mul Blocks command code
cBuf[7] = Block;  // First Block Number
  
    RAWwrite(&cBuf[0], 8);                 // 写 FIFO
   
    CounterSet();                 // TimerA设置
    countValue = count1ms * 10;  // 20ms
   
    i_reg = 0x01;                               // 当前状态为RX状态
    startCounter;  //开启时钟A,增计数模式
   
    irqCLR;                  // 清除已经存在的IRQ中断标志
    irqON;
    LPM0;   //等待发送完成
   
    RXTXstate = 1;                 // 接收数据保存从buf[1]开始
while(i_reg == 0x01)
{
}
i_reg = 0x01;
CounterSet();
countValue = 0x2000; /* 10ms for TIMEOUT */
//startCounter;   /* start timer up mode */
while(i_reg == 0x01)
{
}
        if(i_reg == 0xFF)
        {   //接收到 UID
            found = 1;
        }
        command = Reset;  // FIFO 在下个时隙前必须复位
        DirectCommand(&command);

    if(found)
    {   
        LED15693ON;
        for(char i = 0;i <4;i++)                   //提取接收缓存中的数据
        {
            Data = buf[5-i];         
        }
    }
    else
    {
        LED15693OFF;
        for(char i = 0;i < 8;i++)                  
        {
          Data = 0x01;
        }        
    }
    irqOFF;
}
//*************************************************************************************************
// 功能描述 : 获取单块数据,有地址的读
// 输入参数 : 起始块
// 返回参数 : 无
// 说    明 :
//*************************************************************************************************
void ReadSingleBlockWithAdd(unsigned char Block)
{
    unsigned char command, found = 0;
    unsigned int size,i;                          // 请求命令数据帧大小
    //unsigned char cBuf[20];         // 时隙总数,默认1 时隙(NoSlots = 时隙数 + 1)
    size=11;
cBuf[0] = 0x8f; // Reset FIFO command
cBuf[1] = 0x91; // send with CRC
cBuf[2] = 0x3d; // write continuous from register 1D
cBuf[3] = (char)(size>>8);// Data for register 1D, data length
cBuf[4] = (char)(size<<4);// Data for register 1E
cBuf[5] = 0x20;// ISO15693 flag with Option flag set
cBuf[6] = 0x20; // Read mul Blocks command code

        for(i=1;i<9;i++)
        {
          cBuf[15-i] = RevBuffer[i+6];
        }
/*cBuf[7] =0x6D;  
        cBuf[8] =0x46;
        cBuf[9] =0xEB;
        cBuf[10] =0x5D;
        cBuf[11] =0x12;
        cBuf[12] =0x80;
        cBuf[13] =0x07;
        cBuf[14] =0xE0;*/
        
        cBuf[15] =Block;// First Block Number
    RAWwrite(&cBuf[0], 16);                 // 写 FIFO
   
    CounterSet();                 // TimerA设置
    countValue = count1ms * 10;  // 20ms
   
    i_reg = 0x01;                               // 当前状态为RX状态
    startCounter;  //开启时钟A,增计数模式
   
    irqCLR;                  // 清除已经存在的IRQ中断标志
    irqON;
    LPM0;   //等待发送完成
   
    RXTXstate = 1;                 // 接收数据保存从buf[1]开始
while(i_reg == 0x01)
{
}
i_reg = 0x01;
CounterSet();
countValue = 0x2000; /* 10ms for TIMEOUT */
startCounter;   /* start timer up mode */
while(i_reg == 0x01)
{
}
        if(i_reg == 0xFF)
        {   //接收到 UID
            found = 1;
        }
        command = Reset;  // FIFO 在下个时隙前必须复位
        DirectCommand(&command);

    if(found)
    {   
        LED15693ON;
        for(char i = 0;i <4;i++)                   //提取接收缓存中的数据
        {
            Data = buf[5-i];         
        }
    }
    else
    {
        LED15693OFF;
        for(char i = 0;i < 8;i++)                  
        {
          Data = 0x01;
        }        
    }
    irqOFF;
}

//*************************************************************************************************
// 功能描述 : 写单块数据
// 输入参数 : 起始块
// 返回参数 : 无
// 说    明 :
//*************************************************************************************************
void WriteSingleBlock(unsigned char Block)
{
  unsigned char i;
  unsigned char command;
  unsigned int size;                          // 请求命令数据帧大小
  //unsigned char cBuf[20];         
   size=7;
  cBuf[0] = 0x8f;//Reset FIFO command
  cBuf[1] = 0x91;//send with CRC
  cBuf[2] = 0x3d;//write continuous from register 1D
  cBuf[3] = (char)(size>>8);//Data for register 1D
  cBuf[4] = (char)(size<<4);//Data for register 1E
  cBuf[5] = 0x42;// ISO15693 flag with Option flag set
  cBuf[6] = 0x21;// Write Single Blocks command code
  cBuf[7] = Block;
  for(i=2;i<6;i++)
  {
  cBuf[6+i] = RevBuffer[i+1];
  }
  command = IRQStatus;
    ReadSingle(&command, 1);
    RAWwrite(&cBuf[0], 12);                 // 写 FIFO
   
    CounterSet();                 // TimerA设置
    countValue = count1ms * 20;  // 20ms
   
    i_reg = 0x01;                               // 当前状态为RX状态
    startCounter;  //开启时钟A,增计数模式
   
    irqCLR;                  // 清除已经存在的IRQ中断标志
    irqON;
    LPM0;   //等待发送完成
      
        RXTXstate = 1;                 // 接收数据保存从buf[1]开始
while(i_reg == 0x01)
{
}
i_reg = 0x01;
CounterSet();
countValue = 0x2000; /* 10ms for TIMEOUT */
startCounter;   /* start timer up mode */
            irqCLR;                  // 清除已经存在的IRQ中断标志
while(i_reg == 0x01)
{
}                  
      irqOFF;
}

//*************************************************************************************************
// 功能描述 : 读多块数据
// 输入参数 : 起始块,块数量
// 返回参数 : 无
// 说    明 :
//*************************************************************************************************
void ReadMultipleBlock(unsigned char Block,unsigned char Bsize)
{
   unsigned char command, found = 0;
    unsigned int size;                          // 请求命令数据帧大小
   // unsigned char cBuf[20];         // 时隙总数,默认1 时隙(NoSlots = 时隙数 + 1)
    size=4;
cBuf[0] = 0x8f; // Reset FIFO command
cBuf[1] = 0x91; // send with CRC
cBuf[2] = 0x3d; // write continuous from register 1D
cBuf[3] = (char)(size>>8);// Data for register 1D, data length
cBuf[4] = (char)(size<<4);// Data for register 1E
cBuf[5] = 0x02;// ISO15693 flag with Option flag set
cBuf[6] = 0x23; // Read mul Blocks command code
cBuf[7] = Block;// First Block Number
cBuf[8] = Bsize;// Block Number

         command = IRQStatus;
    ReadSingle(&command, 1);
    RAWwrite(&cBuf[0], 9);                 // 写 FIFO
   
    CounterSet();                 // TimerA设置
    countValue = count1ms * 10;  // 20ms
   
    i_reg = 0x01;                               // 当前状态为RX状态
    startCounter;  //开启时钟A,增计数模式
   
    irqCLR;                  // 清除已经存在的IRQ中断标志
    irqON;
    LPM0;   //等待发送完成
      
        RXTXstate = 1;                 // 接收数据保存从buf[1]开始
while(i_reg == 0x01)
{
}
i_reg = 0x01;
CounterSet();
countValue = 0x2000; /* 10ms for TIMEOUT */
startCounter;   /* start timer up mode */
while(i_reg == 0x01)
{
}
        if(i_reg == 0xFF)
        {   //接收到 UID
            found = 1;
        }
        command = Reset;  // FIFO 在下个时隙前必须复位
        DirectCommand(&command);

    if(found)
    {   
        LED15693ON;
        for(char i = 0;i < 8;i++)                   //提取接收缓存中的数据
        {
            Data = buf[9-i];         
        }
    }
    else
    {
        LED15693OFF;
        for(char i = 0;i < 16;i++)                  
        {
            Data = 0x01;         
        }        
    }
    irqOFF;
}
//*************************************************************************************************
// 功能描述 : 写多块数据
// 输入参数 : 起始块,块数量
// 返回参数 : 无
// 说    明 :
//*************************************************************************************************
void WriteMultipleBlock(unsigned char Block,unsigned char Bsize)
{
  unsigned char i;
  for(i=0;i   {
    WriteSingleBlock(Block);
    Block++;
  }
}
//*************************************************************************************************
// 功能描述 : 复位标签
// 输入参数 :
// 返回参数 : 无
// 说    明 :
//*************************************************************************************************
void ResetToReday()
{
    unsigned int size;                          // 请求命令数据帧大小
  //unsigned char cBuf[20];         
   size=2;              //长度 = flag + command + lenght
  cBuf[0] = 0x8f;//Reset FIFO command
  cBuf[1] = 0x91;//send with CRC
  cBuf[2] = 0x3d;//write continuous from register 1D
  cBuf[3] = (char)(size>>8);//Data for register 1D
  cBuf[4] = (char)(size<<4);//Data for register 1E
  cBuf[5] = 0x00;// ISO15693 flag with Option flag set
  cBuf[6] = 0x26;// Write Single Blocks command code
  
  RAWwrite(&cBuf[0], 7);                 // 写 FIFO
  CounterSet();                 // TimerA设置
    countValue = count1ms * 20;  // 20ms
   
    i_reg = 0x01;                               // 当前状态为RX状态
    startCounter;  //开启时钟A,增计数模式
   
    irqCLR;                  // 清除已经存在的IRQ中断标志
    irqON;
    LPM0;   //等待发送完成
      
        RXTXstate = 1;                 // 接收数据保存从buf[1]开始
while(i_reg == 0x01)
{
}
i_reg = 0x01;
CounterSet();
countValue = 0x2000; /* 10ms for TIMEOUT */
startCounter;   /* start timer up mode */
            irqCLR;                  // 清除已经存在的IRQ中断标志
while(i_reg == 0x01)
{
}                  
      irqOFF;
}
//*************************************************************************************************
// 功能描述 : 写AFI,应用族识别符,应用的卡预选准则
// 输入参数 : 无
// 返回参数 : 无
// 说    明 :
//*************************************************************************************************
void WriteAFI(unsigned AFI)
{
  unsigned int size;                          // 请求命令数据帧大小
  //unsigned char cBuf[20];         
   size=3;  //长度 = flag + command + lenght
  cBuf[0] = 0x8f;//Reset FIFO command
  cBuf[1] = 0x91;//send with CRC
  cBuf[2] = 0x3d;//write continuous from register 1D
  cBuf[3] = (char)(size>>8);//Data for register 1D
  cBuf[4] = (char)(size<<4);//Data for register 1E
  cBuf[5] = 0x42;// ISO15693 flag with Option flag set
  cBuf[6] = 0x27;// Write Single Blocks command code
  cBuf[7] = AFI;
  RAWwrite(&cBuf[0], 8);                 // 写 FIFO
  CounterSet();                 // TimerA设置
    countValue = count1ms * 20;  // 20ms
   
    i_reg = 0x01;                               // 当前状态为RX状态
    startCounter;  //开启时钟A,增计数模式
   
    irqCLR;                  // 清除已经存在的IRQ中断标志
    irqON;
    LPM0;   //等待发送完成
      
        RXTXstate = 1;                 // 接收数据保存从buf[1]开始
while(i_reg == 0x01)
{
}
i_reg = 0x01;
CounterSet();
countValue = 0x2000; /* 10ms for TIMEOUT */
startCounter;   /* start timer up mode */
            irqCLR;                  // 清除已经存在的IRQ中断标志
while(i_reg == 0x01)
{
}                  
      irqOFF;
}
//*************************************************************************************************
// 功能描述 : 写DSFID,应用族识别符,应用的卡预选准则
// 输入参数 : 无
// 返回参数 : 无
// 说    明 :
//*************************************************************************************************
void WriteDSFID(unsigned char DSFID)
{
  unsigned int size;                          // 请求命令数据帧大小
  //unsigned char cBuf[20];         
   size=3;
  cBuf[0] = 0x8f;//Reset FIFO command
  cBuf[1] = 0x91;//send with CRC
  cBuf[2] = 0x3d;//write continuous from register 1D
  cBuf[3] = (char)(size>>8);//Data for register 1D
  cBuf[4] = (char)(size<<4);//Data for register 1E
  cBuf[5] = 0x42;// ISO15693 flag with Option flag set
  cBuf[6] = 0x29;// Write Single Blocks command code
  cBuf[7] = DSFID;
  RAWwrite(&cBuf[0], 8);                 // 写 FIFO
  CounterSet();                 // TimerA设置
    countValue = count1ms * 20;  // 20ms
   
    i_reg = 0x01;                               // 当前状态为RX状态
    startCounter;  //开启时钟A,增计数模式
   
    irqCLR;                  // 清除已经存在的IRQ中断标志
    irqON;
    LPM0;   //等待发送完成
      
        RXTXstate = 1;                 // 接收数据保存从buf[1]开始
while(i_reg == 0x01)
{
}
i_reg = 0x01;
CounterSet();
countValue = 0x2000; /* 10ms for TIMEOUT */
startCounter;   /* start timer up mode */
            irqCLR;                  // 清除已经存在的IRQ中断标志
while(i_reg == 0x01)
{
}                  
      irqOFF;
}
//*************************************************************************************************
// 功能描述 : 获取系统信息
// 输入参数 : 无
// 返回参数 : 无
// 说    明 :
//*************************************************************************************************
void GetSystemInfo()
{
    unsigned char command,length,found;
  unsigned int size;                          // 请求命令数据帧大小
  //unsigned char cBuf[20],;  
  
    size = 2;   
    cBuf[0] = 0x8f;           // Reset FIFO command
    cBuf[1] = 0x91;           // send with CRC
    cBuf[2] = 0x3d;           // write continuous from register 1D
    cBuf[3] = (char)size>>8;   // Data for register 1D, data length
    cBuf[4] = (char)size<<4;   // Data for register 1E
    cBuf[5] = 0x02;  //0x02;   // ISO15693 flag with Option flag set
    cBuf[6] = 0x2B;           // GetSystemInfo
   
    length = 7;
  RAWwrite(&cBuf[0],length);
  
       CounterSet();                 // TimerA设置
    countValue = count1ms * 10;  // 20ms
   
    i_reg = 0x01;                               // 当前状态为RX状态
    startCounter;  //开启时钟A,增计数模式
   
    irqCLR;                  // 清除已经存在的IRQ中断标志
    irqON;
    LPM0;   //等待发送完成
      
        RXTXstate = 1;                 // 接收数据保存从buf[1]开始
while(i_reg == 0x01)
{
}
i_reg = 0x01;
CounterSet();
countValue = 0x2000; /* 10ms for TIMEOUT */
startCounter;   /* start timer up mode */
while(i_reg == 0x01)
{
}
        if(i_reg == 0xFF)
        {   //接收到 UID
            found = 1;
        }
        command = Reset;  // FIFO 在下个时隙前必须复位
        DirectCommand(&command);

    if(found)
    {   
        LED15693ON;
        for(char i = 0;i < 15;i++)                   //提取接收缓存中的数据
        {
            Data = buf[i+1];         
        }
    }
    else
    {
        LED15693OFF;
        for(char i = 0;i < 16;i++)                  
        {
            Data = 0x01;         
        }        
    }
    irqOFF;
}
//*************************************************************************************************
// 功能描述 : 获取多个块的安全状态
// 输入参数 : 无
// 返回参数 : 无
// 说    明 :
//*************************************************************************************************
void GetMult_BlkSelStatus(unsigned char Block,unsigned char Bsize)
{
  unsigned char found,command;
     unsigned int size;                          // 请求命令数据帧大小
  //unsigned char cBuf[20];         
   size=4;           //长度 = flag + command + lenght
  cBuf[0] = 0x8f;//Reset FIFO command
  cBuf[1] = 0x91;//send with CRC
  cBuf[2] = 0x3d;//write continuous from register 1D
  cBuf[3] = (char)(size>>8);//Data for register 1D
  cBuf[4] = (char)(size<<4);//Data for register 1E
  cBuf[5] = 0x02;// ISO15693 flag with Option flag set
  cBuf[6] = 0x2c;// Write Single Blocks command code
  cBuf[7] = Block;
  cBuf[8] = Bsize;
  
   RAWwrite(&cBuf[0], 9);                 // 写 FIFO
   CounterSet();                 // TimerA设置
    countValue = count1ms * 10;  // 20ms
   
    i_reg = 0x01;                               // 当前状态为RX状态
    startCounter;  //开启时钟A,增计数模式
   
    irqCLR;                  // 清除已经存在的IRQ中断标志
    irqON;
    LPM0;   //等待发送完成
      
        RXTXstate = 1;                 // 接收数据保存从buf[1]开始
while(i_reg == 0x01)
{
}
i_reg = 0x01;
CounterSet();
countValue = 0x2000; /* 10ms for TIMEOUT */
startCounter;   /* start timer up mode */
while(i_reg == 0x01)
{
}
        if(i_reg == 0xFF)
        {   //接收到 UID
            found = 1;
        }
        command = Reset;  // FIFO 在下个时隙前必须复位
        DirectCommand(&command);

    if(found)
    {   
        LED15693ON;
        for(char i = 0;i < Bsize+1;i++)                   //提取接收缓存中的数据
        {
            Data = buf;         
        }
    }
    else
    {
        LED15693OFF;
        for(char i = 0;i < 16;i++)                  
        {
            Data = 0x01;         
        }        
    }
    irqOFF;
}

最新回复

好长的代码啊。。。。。。  详情 回复 发表于 2012-11-2 16:38
 
点赞 关注

回复
举报

4996

帖子

19

TA的资源

裸片初长成(初级)

沙发
 
好长的代码啊。。。。。。
 
个人签名我的博客
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表