搜索
bottom↓
回复: 7

急求用汇编写的BK2411通信程序.

[复制链接]

出0入0汤圆

发表于 2009-10-30 14:57:52 | 显示全部楼层 |阅读模式
最近两三天在调BK2411。
采用台湾sonix的2613。
按照指导书的,还没有调通。
请问哪位仁兄有用汇编调通过BK2411?
固定频率,固定地址,开启自动应答功能.收发的数据包是固定长度的。

我的QQ是:304539614
电邮是:zhliangxi@gmail.com

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2009-10-30 15:31:37 | 显示全部楼层
这个可以直接用NRF24L01 的程序 他们兼容的

出0入0汤圆

 楼主| 发表于 2009-10-31 23:41:23 | 显示全部楼层
已经OK了,是延时函数有点没处理好。

大家有关BK2411的问题可以联系我

出0入0汤圆

发表于 2009-12-15 14:50:17 | 显示全部楼层
【2楼】 zhliangxi 喜哥
最近也在搞这个2411,用单片机模拟SPI的,但初始化不成功,能提供参考意见不?

出0入0汤圆

发表于 2009-12-29 20:45:45 | 显示全部楼层
已经搞定了,多谢【2楼】 zhliangxi 喜哥
的帮忙,多谢阿阿莫提供的这个平台,大家有遇到BK2411的问题的,可以提供帮助!

出0入0汤圆

发表于 2010-3-20 20:15:09 | 显示全部楼层
;------------------------------------------------------------------------------
;BK2411初始化
;------------------------------------------------------------------------------
InitRF:
        BCLR        BK2411CE
        BSET        BK2411CSN
        BCLR        BK2411SCK
        MOV        A,#80
        CALL        Delay_ms

        B0BCLR        CFG
        CALL        SwitchCFG                ;CFG=0
       
        MOV        A,#21
        MOV        i,A
        MOV        A,#20
        MOV        Kpointer,A
       
InitRFLoop0:
        CALL        RegArrFSK_table
        MOV        A,#0X20
        OR        A,RegArrFSKH                ;高位
        MOV        RWRegAddr,A
        MOV        A,RegArrFSKL                ;低位
        MOV        RWRegData,A
        CALL        SPI_RW_Reg
        MOV        A,Kpointer
        SUB        A,#1
        MOV        Kpointer,A
        DECMS        i
        JMP        InitRFLoop0
                                ;reg 10 -Rx0 addr
        MOV        A,#5
        MOV        i,A
        CLR        Kpointer

InitRFLoop1:
        CALL        RX0_ADDRESS_table
        MOV        A,Kpointer
        ADD        A,#1
        MOV        Kpointer,A
        DECMS        i
        JMP        InitRFLoop1

        MOV        A,#0X2A
        MOV        WrBufReg,A       
        MOV        A,#5
        MOV        Number,A
        CALL        SPI_Write_Buf

        MOV        A,#5
        MOV        i,A
        CLR        Kpointer
                                ;reg 11 -Rx1 addr
InitRFLoop2:       
        CALL        RX1_ADDRESS_table
        MOV        A,Kpointer
        ADD        A,#1
        MOV        Kpointer,A
        DECMS        i
        JMP        InitRFLoop2

        MOV        A,#0X2b
        MOV        WrBufReg,A       
        MOV        A,#5
        MOV        Number,A
        CALL        SPI_Write_Buf

        MOV        A,#5
        MOV        i,A
        CLR        Kpointer
                                ;reg 16 -Tx addr
InitRFLoop2_1:
        CALL        RX0_ADDRESS_table
        MOV        A,Kpointer
        ADD        A,#1
        MOV        Kpointer,A
        DECMS        i
        JMP        InitRFLoop2_1

        MOV        A,#0X30
        MOV        WrBufReg,A       
        MOV        A,#5
        MOV        Number,A
        CALL        SPI_Write_Buf


        MOV        A,#0x50                        ;ACTIVATE_CMD
        MOV        RWRegAddr,A
        MOV        A,#0X73
        MOV        RWRegData,A
        CALL        SPI_RW_Reg

        MOV        A,#2
        MOV        i,A       
        MOV        A,#22
        MOV        Kpointer,A
       
InitRFLoop3:
        CALL        RegArrFSK_table
        MOV        A,#0X20
        OR        A,RegArrFSKH
        MOV        RWRegAddr,A
        MOV        A,RegArrFSKL
        MOV        RWRegData,a
        CALL        SPI_RW_Reg
        MOV        A,Kpointer
        SUB        A,#1
        MOV        Kpointer,A
        DECMS        i
        JMP        InitRFLoop3

        B0BSET        CFG
        CALL        SwitchCFG

        CLR        i
        CLR        FSKLong

InitRFLoop4_2:
        CLR        Kpointer
        MOV        A,#4
        MOV        Number1,A
InitRFLoop4_1:
        CALL        RegArrFSKAnalog_table
        MOV        A,#1
        ADD        Kpointer,A
        DECMS        Number1
        JMP        InitRFLoop4_1
        MOV        A,#4
        MOV        Number,A
        MOV        A,#0X20
        OR        A,i
        MOV        WrBufReg,A
        CALL        SPI_Write_Buf
        MOV        A,#1
        ADD        i,A
        MOV        A,#14
        CMPRS        A,i
        JMP        InitRFLoop4_2       


        MOV        A,#11
        MOV        i,A
        CLR        Kpointer

InitRFLoop5:
        CALL        RegArrFSKAnalogReg14_table
        MOV        A,Kpointer
        ADD        A,#1
        MOV        Kpointer,A
        DECMS        i
        JMP        InitRFLoop5
        MOV        A,#0X2e                        ;reg14    WRITE_REG|14
        MOV        WrBufReg,A
        MOV        A,#11       
        MOV        Number,A
        CALL        SPI_Write_Buf

        MOV        A,#4
        MOV        i,A
        CLR        Kpointer
                                ;reg4 clear bit 0,1,3,23
InitRFLoop6:
        CALL        RegArrFSKAnalogreg4_table
        MOV        A,Kpointer
        ADD        A,#1
        MOV        Kpointer,A
        DECMS        i
        JMP        InitRFLoop6       
        MOV        A,#0X24
        MOV        WrBufReg,A
        MOV        A,#4
        MOV        Number,A
        CALL        SPI_Write_Buf
                                ;reg4 set bit 25,26
       // mov     a,        #10
        //call    Delay_Ms
        CLR        Kpointer
        MOV        A,#0X47
        MOV        CodeAddr,A
        CALL        KeepWrBufAddr_table
        MOV        A,#0X24
        MOV        WrBufReg,A
        MOV        A,#4
        MOV        Number,A
        CALL        SPI_Write_Buf
                                ;reg4 clear bit 25,26
        //mov     a,        #10
        //call    Delay_Ms       
        CLR        Kpointer
        MOV        A,#0X41
        MOV        CodeAddr,A
        CALL        KeepWrBufAddr_table
        MOV        A,#0X24
        MOV        WrBufReg,A
        MOV        A,#4
        MOV        Number,A
        CALL        SPI_Write_Buf

        MOV        A,#50
        CALL        Delay_ms
                                ;reg4 set bit 0,1,3,23

        MOV        A,#4
        MOV        i,A
        MOV        A,#16
        MOV        FSKLong,A
        CLR        Kpointer
InitRFLoop7:
        CALL        RegArrFSKAnalog_table
        MOV        A,#1
        ADD        Kpointer,A
        DECMS        i
        JMP        InitRFLoop7
        MOV        A,#24
        MOV        WrBufReg,A
        MOV        A,#4
        MOV        Number,A
        CALL        SPI_Write_Buf

        B0BCLR        CFG
        CALL        SwitchCFG
       
        MOV        A,#5
        MOV        i,A
        CLR        Kpointer

InitRFLoop8:
        CALL        TX_ADDRESS_table
        MOV        A,Kpointer
        ADD        A,#1
        MOV        Kpointer,A
        DECMS        i
        JMP        InitRFLoop8
        MOV        A,#0X30                        ;写本地地址 WRITE_REG + TX_ADDR
        MOV        WrBufReg,A
        MOV        A,#5
        MOV        Number,A
        CALL        SPI_Write_Buf

        MOV        A,#5
        MOV        i,A
        CLR        Kpointer

InitRFLoop9:
        CALL        RX_ADDRESS_table
        MOV        A,Kpointer
        ADD        A,#1
        MOV        Kpointer,A
        DECMS        i
        JMP        InitRFLoop9
        MOV        A,#0X2A                        ;写接收端地址 WRITE_REG + RX_ADDR_P0
        MOV        WrBufReg,A
        MOV        A,#5
        MOV        Number,A
        CALL        SPI_Write_Buf       

        MOV        A,#0X21                        ;WRITE_REG +EN_AA
        MOV        RWRegAddr,A
        MOV        A,#0X01
        MOV        RWRegData,A
        CALL        SPI_RW_Reg

        MOV        A,#0X22                        ;WRITE_REG +EN_RXADDR
        MOV        RWRegAddr,A
        MOV        A,#0X01
        MOV        RWRegData,A
        CALL        SPI_RW_Reg

        MOV        A,#0X25                        ;WRITE_REG +RF_CH
        MOV        RWRegAddr,A
        MOV        A,RF_Channel                ;RF_Channel
        MOV        RWRegData,A
        CALL        SPI_RW_Reg

        MOV        A,#0X31                        ;WRITE_REG +RX_PW_P0
        MOV        RWRegAddr,A
        MOV        A,#8
        MOV        RWRegData,A
        CALL        SPI_RW_Reg

        MOV        A,#0X26                        ;WRITE_REG +RF_SETUP
        MOV        RWRegAddr,A
        MOV        A,#0X07
        MOV        RWRegData,A
        CALL        SPI_RW_Reg

        MOV        A,#0X20                        ;WRITE_REG +CONFIG
        MOV        RWRegAddr,A
        MOV        A,#0X0E
        MOV        RWRegData,A
        CALL        SPI_RW_Reg

        MOV        A,#0X23                        ;WRITE_REG +SETUP_AW
        MOV        RWRegAddr,A
        MOV        A,#0X02
        MOV        RWRegData,A
        CALL        SPI_RW_Reg

        /*
        MOV        A,#0X24                        ;WRITE_REG +SETUP_RETR
        MOV        RWRegAddr,A
        MOV        A,#0X1A
        MOV        RWRegData,A
        CALL        SPI_RW_Reg
        */
        B0BCLR        CFG
        CALL        SwitchCFG                ;CFG=0

        RET

;----------------------------------------------延时函数
Delay_ms:
        mov        DelayTime0,a
  LMsLoop3:       
        mov        a,#10
        mov        DelayTime1,a
   LMsLoop2:       
        mov        a,#100
        mov        DelayTime2,a
    LMsLoop1:
          decms        DelayTime2
          jmp        LMsLoop1
          decms        DelayTime1
          jmp        LMsLoop2
          decms        DelayTime0
          jmp        LMsLoop3
        ret
;------------------------------------------------------------------
;入口参数:        CFG                                                
;
;------------------------------------------------------------------
SwitchCFG:
        mov        A,#7
        MOV        ReadReg,A
        call        SPI_Read       
        mov        CFG_TMP,a
       
  LGetCfg01:
          bts1        CFG_TMP.7                ;为1时跳过下一条指令 检验CFG标志
          jmp        LGetCfg10
          B0BTS0        CFG                        ;CFG为0时 执行SPI_WR_REG
          jmp        LCFGEND
  LGetCfg:       
          mov        a,#0X50                ;ACTIVATE_CMD
          mov        RWRegAddr,a
          mov        a,#0x53
          MOV        RWRegData,a
          call        SPI_RW_Reg        ;REG value->acc
          jmp        lCFGEND
  LGetCfg10:       
        B0BTS0        CFG                        ;CFG为1时 执行下一条指令 SPI_WR_REG
          jmp        LGetCfg
  lCFGEND:

        ret
;-------------------------------------------------------------------------------
;功 能: Writes one byte to nRF24L01, and return the byte read
;                 from nRF24L01 during write, according to SPI protocol
;-------------------------------------------------------------------------------

SPI_RW:
        mov        RWValue,a
        mov        a,#8
        mov        bit_ctr,a
        BCLR        BK2411SCK
        NOP
        NOP
        NOP
  LSpiLoop:
          bts0        RWValue.7                ;高位为0则跳过下一条指令执行MosiToL
          jmp        MosiToH
  MosiToL:
          BCLR        BK2411MOSI                ;MOSI端口置0
        NOP
        NOP
        NOP
          JMP        MosiToHLEnd
  MosiToH:
        BSET        BK2411MOSI                ;MOSI端口置1
        NOP

        NOP
        NOP
  MosiToHLEnd:       
          BCLR        FC                        ;清进位位
          RLCM        RWValue
          BSET        BK2411SCK
        NOP
        NOP
        NOP

          BTS0        BK2411MISO                ;MISO为0跳过下一条指令
          BSET        RWValue.0
          BCLR        BK2411SCK

        NOP
        NOP
        NOP       

          DECMS        bit_ctr
          JMP        LSpiLoop
          mov        a,RWValue                ;返回值放进A
        ret
;-----------------------------------------------------------------------------------
//函 数:SPI_RW_Reg
//参 数: reg 寄存器 value 值
//功 能: Writes value 'value' to register 'reg'
;-----------------------------------------------------------------------------------
SPI_RW_Reg:
        BCLR        BK2411CSN                        ;CSN low, init SPI transaction
        MOV        A,RWRegAddr
        CALL        SPI_RW
        mov        BK_STATUS,a
       
        MOV        A,RWRegData
        call        SPI_RW
        BSET        BK2411CSN
       
        mov        a,BK_STATUS
        RET
;-----------------------------------------------------------------------------
;入口:ReadReg
;返回:ReadRegVal
;-----------------------------------------------------------------------------
SPI_Read:
        BCLR        BK2411CSN
        MOV        A,ReadReg
        CALL        SPI_RW                ;Select register to read from..
        MOV        A,#0
        CALL        SPI_RW
        MOV        ReadRegVal,A
        BSET        BK2411CSN
        ret



;----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
;入口:WrBufReg,数组        ,Number
;返回:ReadRegVal
;-----------------------------------------------------------------------------
SPI_Read_Buf:
        BCLR        BK2411CSN
        MOV        A,ReadBufReg
        CALL        SPI_RW               
        MOV        BK_STATUS,A
        CLR        Kpointer                ;清0       
        CLR        ReadBufReg                ;清0

Read_Buf_Loop0:
        MOV        A,#0
        CALL        SPI_RW
        MOV        CodeAddr,A                ;??????
        CALL        KeepTxBuf                ;把数据保存到数组里边
        MOV        A,Kpointer
        ADD        A,#1
        MOV        Kpointer,A
        DECMS        Number
        JMP        Read_Buf_Loop0
        BSET        BK2411CSN
        RET

;----------------------------------------------------------------------------


;----------------------------------------------------------------------------
SPI_Write_Buf:
        BCLR        BK2411CSN
        MOV        A,WrBufReg
        CALL        SPI_RW       
        MOV        BK_STATUS,A
        CLR        Kpointer                ;清0
Wr_Buf_Loop0:
        CALL        ReadWrBufAddr_table        ;读出来数据存放A
        CALL        SPI_RW                        ;入口参数A
        MOV        A,#1
        ADD        Kpointer,A
        DECMS        Number
        JMP        Wr_Buf_Loop0
        BSET        BK2411CSN                ;CSN=1
        MOV        A,BK_STATUS                ;返回值
        RET

;-----------------------------------------------------------------------------
;
;-----------------------------------------------------------------------------
SetRX_Mode:
        MOV        A,#5
        MOV        i,A
        CLR        Kpointer
       
RX_Mode_Loop0:                                ;循环五次把TX_ADDRESS存放到数组WrBufAddr
        CALL        RX_ADDRESS_table
        MOV        A,Kpointer
        ADD        A,#1
        MOV        Kpointer,A
        DECMS        i
        JMP        RX_Mode_Loop0
                                ;Use the same address on the RX device as the TX device
        MOV        A,#0X2A
        MOV        WrBufReg,A
        MOV        A,#5
        MOV        Number,A
        CALL        SPI_Write_Buf
       
        MOV        A,#0x21                ;允许自动应答EN_AA
        MOV        RWRegAddr,A
        MOV        A,#0x01
        MOV        RWRegData,a
        CALL        SPI_RW_Reg

        MOV        A,#0x22                ;允许RX地址EN_RXADDR
        MOV        RWRegAddr,A
        MOV        A,#0x01
        MOV        RWRegData,a
        CALL        SPI_RW_Reg

        MOV        A,#0x25                ;通道号RF_CH
        MOV        RWRegAddr,A
        MOV        A,RF_Channel        ;??RF_Channel
        MOV        RWRegData,a
        CALL        SPI_RW_Reg

        MOV        A,#0x31                ;RX_PW_P0
        MOV        RWRegAddr,A
        MOV        A,#10                ;RX_PLOAD_WIDTH=10
        MOV        RWRegData,a
        CALL        SPI_RW_Reg

        MOV        A,#0x26                ;//RF建立寄存器
        MOV        RWRegAddr,A
        MOV        A,#0x07
        MOV        RWRegData,a
        CALL        SPI_RW_Reg

        MOV        A,#0x20                ;//RF配置寄存器
        MOV        RWRegAddr,A
        MOV        A,#0x0f
        MOV        RWRegData,a
        CALL        SPI_RW_Reg
        BSET        BK2411CE
        RET
;-----------------------------------------------------------------------------
;
;-----------------------------------------------------------------------------
nRF2411_RxPacket:
        CLR        R_RxPacket
        CALL        SetRX_Mode
        MOV        A,#0x07                        ;STATUS=0X07
        MOV        ReadReg,A
        CALL        SPI_Read
        MOV        Read_STA,A
       
        BTS1        Read_STA.6                ;RX_DR 为1则跳过下一条指令
        JMP        RxPacketLoop
        MOV        A,#0x61                        ;RD_RX_PLOAD
        MOV        ReadBufReg,A                ;读缓存寄存器参数
        MOV        A,#8                        ;TX_PLOAD_WIDTH
        MOV        Number,A                ;循环次数
        CALL        SPI_Read_Buf
        MOV        A,#1
        MOV        R_RxPacket,A                ;

        JMP        RxPacketEnd



RxPacketLoop:
        BTS1        Read_STA.4
        JMP        RxPacketEnd
        BSET        BK2411CE
        MOV        A,#0xe1                        ;FLUSH_TX
        MOV        RWRegAddr,A
        MOV        A,#0
        MOV        RWRegData,A
        CALL        SPI_RW_Reg

RxPacketEnd:
        MOV        A,#0x27                        ;WRITE_REG +STATUS
        MOV        RWRegAddr,A
        MOV        A,Read_STA               
        MOV        RWRegData,A
        CALL        SPI_RW_Reg
        MOV        A,R_RxPacket
        RET
;-----------------------------------------------------------------------------
;
;-----------------------------------------------------------------------------
nRF2411_TxPacket:
        BCLR        BK2411CE
        MOV        A,#5
        MOV        i,A
        CLR        Kpointer

TxPacketLoop0:
        CALL        TX_ADDRESS_table
        MOV        A,Kpointer
        ADD        A,#1
        MOV        Kpointer,A
        DECMS        i
        JMP        TxPacketLoop0

        MOV        A,#0X30                        ;写本地地址WRITE_REG + TX_ADDR
        MOV        WrBufReg,A
        MOV        A,#5                        ;TX_ADR_WIDTH
        MOV        Number,A
        CALL        SPI_Write_Buf
       
        MOV        A,#5
        MOV        i,A
        CLR        Kpointer

TxPacketLoop1:
        CALL        TX_ADDRESS_table
        MOV        A,Kpointer
        ADD        A,#1
        MOV        Kpointer,A
        DECMS        i
        JMP        TxPacketLoop1
        MOV        A,#0X2A                        ;写接收端地址WRITE_REG + RX_ADDR_P0
        MOV        WrBufReg,A
        MOV        A,#5                        ;RX_ADR_WIDTH
        MOV        Number,A       
        CALL        SPI_Write_Buf       

        MOV        A,#6
        MOV        i,A       
        MOV        CodeAddr,A
        CLR        Kpointer
       

TxPacketLoop2:
        CALL        ReadTxBuf
        MOV        CodeAddr,A
        CALL        KeepWrBufAddr_table
        MOV        A,Kpointer
        ADD        A,#1
        MOV        Kpointer,A
        DECMS        i
        JMP        TxPacketLoop2
        MOV        A,#0Xa0                        ;发送的数据
        MOV        WrBufReg,A
        MOV        A,#6
        MOV        Number,A       
        CALL        SPI_Write_Buf

        MOV        A,#0x21                        ;WRITE_REG+EN_AA
        MOV        RWRegAddr,A
        MOV        A,#0x01
        MOV        RWRegData,A
        CALL        SPI_RW_Reg
       
        MOV        A,#0x22                        ;WRITE_REG+EN_RXADDR
        MOV        RWRegAddr,A
        MOV        A,#0x01
        MOV        RWRegData,A
        CALL        SPI_RW_Reg

        MOV        A,#0x24                        ;WRITE_REG+SETUP_RETR
        MOV        RWRegAddr,A
        MOV        A,#0x1a
        MOV        RWRegData,A
        CALL        SPI_RW_Reg

        MOV        A,#0x25                        ;WRITE_REG+RF_CH
        MOV        RWRegAddr,A
        MOV        A,RF_Channel                ;RF_Channel
        MOV        RWRegData,A
        CALL        SPI_RW_Reg

        MOV        A,#0x26                        ;WRITE_REG+RF_SETUP
        MOV        RWRegAddr,A
        MOV        A,#0X07
        MOV        RWRegData,A
        CALL        SPI_RW_Reg

        MOV        A,#0x20                        ;WRITE_REG+CONFIG
        MOV        RWRegAddr,A
        MOV        A,#0X0E
        MOV        RWRegData,A
        CALL        SPI_RW_Reg

        BSET        BK2411CE

        MOV        A,#1
        CALL        Delay_ms                ;1mS
       

        MOV        A,#0x07                        ;STATUS 地址
        MOV        ReadReg,A
        CALL        SPI_Read
        MOV        A,ReadRegVal                ;函数SPI_Readd的返回值ReadRegVal
        MOV        BK_STATUS,A
       
        MOV        A,#0x27                        ;WRITE_REG+STATUS
        MOV        RWRegAddr,A
        MOV        A,BK_STATUS
        MOV        RWRegData,A
        CALL        SPI_RW_Reg
        RET
;-----------------------------------------------------------------------------
;
;-----------------------------------------------------------------------------
SwitchToTxMode:
        MOV        A,#0XE1                        ;flush  Tx
        MOV        RWRegAddr,A
        MOV        A,#0x00
        MOV        RWRegData,a
        CALL        SPI_RW_Reg

        MOV        A,#0X00                        ;read register STATUS's value
        MOV        RWRegAddr,A
        MOV        A,#0X00
        MOV        RWRegData,A
        CALL        SPI_RW_Reg

        MOV        ToTxModeVar,A
        AND        A,#0XFD
        MOV        ToTxModeVar,A
        MOV        RWRegData,a
        MOV        A,#0x20                        ;WRITE_REG+CONFIG
        MOV        RWRegAddr,A
        CALL        SPI_RW_Reg

        MOV        A,ToTxModeVar
        OR        A,#0X02
        AND        A,#0XFE
        MOV        RWRegData,a
        MOV        A,#0x20                        ;WRITE_REG+CONFIG
        MOV        RWRegAddr,A
        CALL        SPI_RW_Reg
        BSET        BK2411CE
                                        ;Delay_ms
        MOV        A,#10
        MOV        DelayTime0,A       
        CALL        Delay_ms
        ret
这个写好的汇编测试可以 但是就是距离太短 用C就可以距离很长 不知道什么问题请教大家帮帮忙 谢谢!

出0入0汤圆

发表于 2010-3-22 10:23:07 | 显示全部楼层
MARK~
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-7 20:26

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表