久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4507|回復: 5
打印 上一主題 下一主題
收起左側

跪求NRF24L01收發程序,分開的

[復制鏈接]
樓主
ID:78515 發表于 2015-6-30 15:05 | 只看該作者
一般的2.4G模塊廠家都提供例程文件,買模塊最好找一家專業的有技術支持的公司,就算貴點學到知識也值得,買來無技術支持很難應用的。我們公司專業研發無線模塊,有2.4G的收發例程文件。安陽市新世紀電子研究所 需要聯系我吧,QQ2376726675
回復

使用道具 舉報

沙發
ID:144022 發表于 2016-11-1 23:34 | 只看該作者
我也在研究,好難玩啊
回復

使用道具 舉報

板凳
ID:150002 發表于 2016-11-24 20:55 | 只看該作者
快被整死了
回復

使用道具 舉報

地板
ID:400885 發表于 2018-9-21 10:52 | 只看該作者
  1. #include <reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit CE   = P0^0;  // Chip Enable pin signal (output)
  5. sbit CSN  = P0^1;  // Slave Select pin, (output to CSN, nRF24L01)
  6. sbit IRQ  = P0^5;  // Interrupt signal, from nRF24L01 (input)
  7. sbit MISO = P0^4;  // Master In, Slave Out pin (input)
  8. sbit MOSI = P0^3;  // Serial Clock pin, (output)
  9. sbit SCK  = P0^2;  // Master Out, Slave In pin (output)

  10. // SPI(nRF24L01) commands
  11. #define READ_REG    0x00  // Define read command to register
  12. #define WRITE_REG   0x20  // Define write command to register
  13. #define RD_RX_PLOAD 0x61  // Define RX payload register address
  14. #define WR_TX_PLOAD 0xA0  // Define TX payload register address
  15. #define FLUSH_TX    0xE1  // Define flush TX register command
  16. #define FLUSH_RX    0xE2  // Define flush RX register command
  17. #define REUSE_TX_PL 0xE3  // Define reuse TX payload register command
  18. #define NOP         0xFF  // Define No Operation, might be used to read status register

  19. // SPI(nRF24L01) registers(addresses)
  20. #define CONFIG      0x00  // 'Config' register address
  21. #define EN_AA       0x01  // 'Enable Auto Acknowledgment' register address
  22. #define EN_RXADDR   0x02  // 'Enabled RX addresses' register address
  23. #define SETUP_AW    0x03  // 'Setup address width' register address
  24. #define SETUP_RETR  0x04  // 'Setup Auto. Retrans' register address
  25. #define RF_CH       0x05  // 'RF channel' register address
  26. #define RF_SETUP    0x06  // 'RF setup' register address
  27. #define STATUS      0x07  // 'Status' register address
  28. #define OBSERVE_TX  0x08  // 'Observe TX' register address
  29. #define CD          0x09  // 'Carrier Detect' register address
  30. #define RX_ADDR_P0  0x0A  // 'RX address pipe0' register address
  31. #define RX_ADDR_P1  0x0B  // 'RX address pipe1' register address
  32. #define RX_ADDR_P2  0x0C  // 'RX address pipe2' register address
  33. #define RX_ADDR_P3  0x0D  // 'RX address pipe3' register address
  34. #define RX_ADDR_P4  0x0E  // 'RX address pipe4' register address
  35. #define RX_ADDR_P5  0x0F  // 'RX address pipe5' register address
  36. #define TX_ADDR     0x10  // 'TX address' register address
  37. #define RX_PW_P0    0x11  // 'RX payload width, pipe0' register address
  38. #define RX_PW_P1    0x12  // 'RX payload width, pipe1' register address
  39. #define RX_PW_P2    0x13  // 'RX payload width, pipe2' register address
  40. #define RX_PW_P3    0x14  // 'RX payload width, pipe3' register address
  41. #define RX_PW_P4    0x15  // 'RX payload width, pipe4' register address
  42. #define RX_PW_P5    0x16  // 'RX payload width, pipe5' register address
  43. #define FIFO_STATUS 0x17  // 'FIFO Status Register' register address
  44. #define TX_ADR_WIDTH   5  // 5字節寬度的發送/接收地址
  45. #define TX_PLOAD_WIDTH 4  // 數據通道有效數據寬度
  46. #define LED P1

  47. uchar code TX_ADDRESS[TX_ADR_WIDTH] = {0x34,0x43,0x10,0x10,0x01};  // 定義一個靜態發送地址
  48. uchar RX_BUF[TX_PLOAD_WIDTH];
  49. uchar TX_BUF[TX_PLOAD_WIDTH];
  50. uchar flag;
  51. uchar DATA = 0x01;
  52. uchar bdata sta;
  53. sbit  RX_DR = sta^6;
  54. sbit  TX_DS = sta^5;
  55. sbit  MAX_RT = sta^4;

  56. void init_io(void)
  57. {
  58. CE  = 0;        // 待機
  59. CSN = 1;        // SPI禁止
  60. SCK = 0;        // SPI時鐘置低
  61. IRQ = 1;        // 中斷復位
  62. LED = 0xff; // 關閉指示燈
  63. }

  64. void delay_ms(uchar x)
  65. {
  66.     uchar i, j;
  67.     i = 0;
  68.     for(i=0; i<x; i++)
  69.     {
  70.        j = 250;
  71.        while(--j);
  72.   j = 250;
  73.        while(--j);
  74.     }
  75. }

  76. uchar SPI_RW(uchar byte)
  77. {
  78. uchar i;
  79.     for(i=0; i<8; i++)          // 循環8次
  80.     {
  81.     MOSI = (byte & 0x80);   // byte最高位輸出到MOSI
  82.     byte <<= 1;             // 低一位移位到最高位
  83.     SCK = 1;                // 拉高SCK,nRF24L01從MOSI讀入1位數據,同時從MISO輸出1位數據
  84.     byte |= MISO;       // 讀MISO到byte最低位
  85.     SCK = 0;             // SCK置低
  86.     }
  87.     return(byte);           // 返回讀出的一字節
  88. }

  89. uchar SPI_RW_Reg(uchar reg, uchar value)
  90. {
  91. uchar status;
  92.   CSN = 0;                   // CSN置低,開始傳輸數據
  93.   status = SPI_RW(reg);      // 選擇寄存器,同時返回狀態字
  94.   SPI_RW(value);             // 然后寫數據到該寄存器
  95.   CSN = 1;                   // CSN拉高,結束數據傳輸
  96.   return(status);            // 返回狀態寄存器
  97. }

  98. uchar SPI_Read(uchar reg)
  99. {
  100. uchar reg_val;
  101.   CSN = 0;                    // CSN置低,開始傳輸數據
  102.   SPI_RW(reg);                // 選擇寄存器
  103.   reg_val = SPI_RW(0);        // 然后從該寄存器讀數據
  104.   CSN = 1;                    // CSN拉高,結束數據傳輸
  105.   return(reg_val);            // 返回寄存器數據
  106. }

  107. uchar SPI_Read_Buf(uchar reg, uchar * pBuf, uchar bytes)
  108. {
  109. uchar status, i;
  110.   CSN = 0;                    // CSN置低,開始傳輸數據
  111.   status = SPI_RW(reg);       // 選擇寄存器,同時返回狀態字
  112.   for(i=0; i<bytes; i++)
  113.     pBuf[i] = SPI_RW(0);    // 逐個字節從nRF24L01讀出
  114.   CSN = 1;                    // CSN拉高,結束數據傳輸
  115.   return(status);             // 返回狀態寄存器
  116. }

  117. uchar SPI_Write_Buf(uchar reg, uchar * pBuf, uchar bytes)
  118. {
  119. uchar status, i;
  120.   CSN = 0;                    // CSN置低,開始傳輸數據
  121.   status = SPI_RW(reg);       // 選擇寄存器,同時返回狀態字
  122.   for(i=0; i<bytes; i++)
  123.     SPI_RW(pBuf[i]);        // 逐個字節寫入nRF24L01
  124.   CSN = 1;                    // CSN拉高,結束數據傳輸
  125.   return(status);             // 返回狀態寄存器
  126. }

  127. void RX_Mode(void)
  128. {
  129. CE = 0;
  130.   SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH);  // 接收設備接收通道0使用和發送設備相同的發送地址
  131.   SPI_RW_Reg(WRITE_REG + EN_AA, 0x01);               // 使能接收通道0自動應答
  132.   SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01);           // 使能接收通道0
  133.   SPI_RW_Reg(WRITE_REG + RF_CH, 40);                 // 選擇射頻通道0x40
  134.   SPI_RW_Reg(WRITE_REG + RX_PW_P0, TX_PLOAD_WIDTH);  // 接收通道0選擇和發送通道相同有效數據寬度
  135.   SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07);            // 數據傳輸率1Mbps,發射功率0dBm,低噪聲放大器增益
  136.   SPI_RW_Reg(WRITE_REG + CONFIG, 0x0f);              // CRC使能,16位CRC校驗,上電,接收模式
  137.   CE = 1;                                            // 拉高CE啟動接收設備
  138. }

  139. void TX_Mode(uchar * BUF)
  140. {
  141. CE = 0;
  142.   SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH);     // 寫入發送地址
  143.   SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH);  // 為了應答接收設備,接收通道0地址和發送地址相同
  144.   SPI_Write_Buf(WR_TX_PLOAD, BUF, TX_PLOAD_WIDTH);                  // 寫數據包到TX FIFO
  145.   SPI_RW_Reg(WRITE_REG + EN_AA, 0x01);       // 使能接收通道0自動應答
  146.   SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01);   // 使能接收通道0
  147.   SPI_RW_Reg(WRITE_REG + SETUP_RETR, 0x0a);  // 自動重發延時等待250us+86us,自動重發10次
  148.   SPI_RW_Reg(WRITE_REG + RF_CH, 40);         // 選擇射頻通道0x40
  149.   SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07);    // 數據傳輸率1Mbps,發射功率0dBm,低噪聲放大器增益
  150.   SPI_RW_Reg(WRITE_REG + CONFIG, 0x0e);      // CRC使能,16位CRC校驗,上電
  151. CE = 1;
  152. }

  153. uchar Check_ACK(bit clear)
  154. {
  155. while(IRQ);
  156. sta = SPI_RW(NOP);                    // 返回狀態寄存器
  157. if(MAX_RT)
  158. if(clear)                         // 是否清除TX FIFO,沒有清除在復位MAX_RT中斷標志后重發
  159. SPI_RW(FLUSH_TX);
  160. SPI_RW_Reg(WRITE_REG + STATUS, sta);  // 清除TX_DS或MAX_RT中斷標志
  161. IRQ = 1;
  162. if(TX_DS)
  163. return(0x00);
  164. else
  165. return(0xff);
  166. }

  167. unsigned char nRF24L01_RxPacket(unsigned char* RX_BUF)
  168. {
  169.     unsigned char revale=0;

  170. //SetRX_Mode();

  171. sta=SPI_Read(STATUS); // read register STATUS's value
  172. if(RX_DR) // if receive data ready (RX_DR) interrupt
  173. {
  174.    CE = 0;
  175. SPI_Read_Buf(RD_RX_PLOAD,RX_BUF,TX_PLOAD_WIDTH);// read receive payload from RX_FIFO buffer
  176. revale =1;//we have receive data
  177. }
  178. SPI_RW_Reg(WRITE_REG+STATUS,sta);// clear RX_DR or TX_DS or MAX_RT interrupt flag
  179. return revale;
  180. }

  181. void main(void)
  182. {
  183. uchar i;
  184. uchar reveal;
  185. init_io();              // 初始化IO
  186. RX_Mode();              // 設置為接收模式
  187. while(1)
  188. {
  189. reveal=nRF24L01_RxPacket(RX_BUF);
  190. if(reveal==1)           // 接受完成
  191. {
  192. reveal = 0;
  193. for(i=0;i<5;i++)
  194. {      
  195. LED = RX_BUF[i];
  196. delay_ms(250);
  197. delay_ms(250);
  198. }  
  199. }
  200. }
  201. }
復制代碼
回復

使用道具 舉報

5#
ID:400885 發表于 2018-9-21 10:53 | 只看該作者
  1. #include <reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit CE   = P1^0;  // Chip Enable pin signal (output)
  5. sbit CSN  = P1^1;  // Slave Select pin, (output to CSN, nRF24L01)
  6. sbit IRQ  = P1^5;  // Interrupt signal, from nRF24L01 (input)
  7. sbit MISO = P1^4;  // Master In, Slave Out pin (input)
  8. sbit MOSI = P1^3;  // Serial Clock pin, (output)
  9. sbit SCK  = P1^2;  // Master Out, Slave In pin (output)
  10. // SPI(nRF24L01) commands
  11. #define READ_REG    0x00  // Define read command to register
  12. #define WRITE_REG   0x20  // Define write command to register
  13. #define RD_RX_PLOAD 0x61  // Define RX payload register address
  14. #define WR_TX_PLOAD 0xA0  // Define TX payload register address
  15. #define FLUSH_TX    0xE1  // Define flush TX register command
  16. #define FLUSH_RX    0xE2  // Define flush RX register command
  17. #define REUSE_TX_PL 0xE3  // Define reuse TX payload register command
  18. #define NOP         0xFF  // Define No Operation, might be used to read status register
  19. // SPI(nRF24L01) registers(addresses)
  20. #define CONFIG      0x00  // 'Config' register address
  21. #define EN_AA       0x01  // 'Enable Auto Acknowledgment' register address
  22. #define EN_RXADDR   0x02  // 'Enabled RX addresses' register address
  23. #define SETUP_AW    0x03  // 'Setup address width' register address
  24. #define SETUP_RETR  0x04  // 'Setup Auto. Retrans' register address
  25. #define RF_CH       0x05  // 'RF channel' register address
  26. #define RF_SETUP    0x06  // 'RF setup' register address
  27. #define STATUS      0x07  // 'Status' register address
  28. #define OBSERVE_TX  0x08  // 'Observe TX' register address
  29. #define CD          0x09  // 'Carrier Detect' register address
  30. #define RX_ADDR_P0  0x0A  // 'RX address pipe0' register address
  31. #define RX_ADDR_P1  0x0B  // 'RX address pipe1' register address
  32. #define RX_ADDR_P2  0x0C  // 'RX address pipe2' register address
  33. #define RX_ADDR_P3  0x0D  // 'RX address pipe3' register address
  34. #define RX_ADDR_P4  0x0E  // 'RX address pipe4' register address
  35. #define RX_ADDR_P5  0x0F  // 'RX address pipe5' register address
  36. #define TX_ADDR     0x10  // 'TX address' register address
  37. #define RX_PW_P0    0x11  // 'RX payload width, pipe0' register address
  38. #define RX_PW_P1    0x12  // 'RX payload width, pipe1' register address
  39. #define RX_PW_P2    0x13  // 'RX payload width, pipe2' register address
  40. #define RX_PW_P3    0x14  // 'RX payload width, pipe3' register address
  41. #define RX_PW_P4    0x15  // 'RX payload width, pipe4' register address
  42. #define RX_PW_P5    0x16  // 'RX payload width, pipe5' register address
  43. #define FIFO_STATUS 0x17  // 'FIFO Status Register' register address

  44. #define TX_ADR_WIDTH   5  // 5字節寬度的發送/接收地址
  45. #define TX_PLOAD_WIDTH 4  // 數據通道有效數據寬度
  46. uchar code TX_ADDRESS[TX_ADR_WIDTH] = {0x34,0x43,0x10,0x10,0x01};  // 定義一個靜態發送地址
  47. uchar RX_BUF[TX_PLOAD_WIDTH];
  48. uchar TX_BUF[TX_PLOAD_WIDTH];
  49. uchar flag;
  50. uchar DATA = 0x01;
  51. uchar bdata sta;
  52. sbit  RX_DR  = sta^6;
  53. sbit  TX_DS  = sta^5;
  54. sbit  MAX_RT = sta^4;

  55. void init_io(void)
  56. {
  57. CE  = 0;        // 待機
  58. CSN = 1;        // SPI禁止
  59. SCK = 0;        // SPI時鐘置低
  60. IRQ = 1;        // 中斷復位
  61. }

  62. void delay_ms(uchar x)
  63. {
  64.     uchar i, j;
  65.     i = 0;
  66.     for(i=0; i<x; i++)
  67.     {
  68.        j = 250;
  69.        while(--j);
  70.     j = 250;
  71.        while(--j);
  72.     }
  73. }

  74. uchar SPI_RW(uchar byte)
  75. {
  76. uchar i;
  77.     for(i=0; i<8; i++)          // 循環8次
  78.     {
  79.      MOSI = (byte & 0x80);   // byte最高位輸出到MOSI
  80.      byte <<= 1;             // 低一位移位到最高位
  81.      SCK = 1;                // 拉高SCK,nRF24L01從MOSI讀入1位數據,同時從MISO輸出1位數據
  82.      byte |= MISO;        // 讀MISO到byte最低位
  83.      SCK = 0;             // SCK置低
  84.     }
  85.     return(byte);            // 返回讀出的一字節
  86. }

  87. uchar SPI_RW_Reg(uchar reg, uchar value)
  88. {
  89. uchar status;
  90.    CSN = 0;                   // CSN置低,開始傳輸數據
  91.    status = SPI_RW(reg);      // 選擇寄存器,同時返回狀態字
  92.    SPI_RW(value);             // 然后寫數據到該寄存器
  93.    CSN = 1;                   // CSN拉高,結束數據傳輸
  94.    return(status);            // 返回狀態寄存器
  95. }

  96. uchar SPI_Read(uchar reg)
  97. {
  98. uchar reg_val;
  99.    CSN = 0;                    // CSN置低,開始傳輸數據
  100.    SPI_RW(reg);                // 選擇寄存器
  101.    reg_val = SPI_RW(0);        // 然后從該寄存器讀數據
  102.    CSN = 1;                    // CSN拉高,結束數據傳輸
  103.    return(reg_val);            // 返回寄存器數據
  104. }

  105. uchar SPI_Read_Buf(uchar reg, uchar * pBuf, uchar bytes)
  106. {
  107. uchar status, i;
  108.    CSN = 0;                    // CSN置低,開始傳輸數據
  109.    status = SPI_RW(reg);       // 選擇寄存器,同時返回狀態字
  110.    for(i=0; i<bytes; i++)
  111.      pBuf[i] = SPI_RW(0);    // 逐個字節從nRF24L01讀出
  112.    CSN = 1;                    // CSN拉高,結束數據傳輸
  113.    return(status);             // 返回狀態寄存器
  114. }

  115. uchar SPI_Write_Buf(uchar reg, uchar * pBuf, uchar bytes)
  116. {
  117. uchar status, i;
  118.    CSN = 0;                    // CSN置低,開始傳輸數據
  119.    status = SPI_RW(reg);       // 選擇寄存器,同時返回狀態字
  120.    for(i=0; i<bytes; i++)
  121.      SPI_RW(pBuf[i]);        // 逐個字節寫入nRF24L01
  122.    CSN = 1;                    // CSN拉高,結束數據傳輸
  123.    return(status);             // 返回狀態寄存器
  124. }

  125. void RX_Mode(void)
  126. {
  127. CE = 0;
  128.    SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH);  // 接收設備接收通道0使用和發送設備相同的發送地址
  129.    SPI_RW_Reg(WRITE_REG + EN_AA, 0x01);               // 使能接收通道0自動應答
  130.    SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01);           // 使能接收通道0
  131.    SPI_RW_Reg(WRITE_REG + RF_CH, 40);                 // 選擇射頻通道0x40
  132.    SPI_RW_Reg(WRITE_REG + RX_PW_P0, TX_PLOAD_WIDTH);  // 接收通道0選擇和發送通道相同有效數據寬度
  133.    SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07);            // 數據傳輸率1Mbps,發射功率0dBm,低噪聲放大器增益
  134.    SPI_RW_Reg(WRITE_REG + CONFIG, 0x0f);              // CRC使能,16位CRC校驗,上電,接收模式
  135.    CE = 1;                                            // 拉高CE啟動接收設備
  136. }

  137. void TX_Mode(uchar * BUF)
  138. {
  139. CE = 0;
  140.    SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH);     // 寫入發送地址
  141.    SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH);  // 為了應答接收設備,接收通道0地址和發送地址相同
  142.    SPI_Write_Buf(WR_TX_PLOAD, BUF, TX_PLOAD_WIDTH);                  // 寫數據包到TX FIFO
  143.    SPI_RW_Reg(WRITE_REG + EN_AA, 0x01);       // 使能接收通道0自動應答
  144.    SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01);   // 使能接收通道0
  145.    SPI_RW_Reg(WRITE_REG + SETUP_RETR, 0x0a);  // 自動重發延時等待250us+86us,自動重發10次
  146.    SPI_RW_Reg(WRITE_REG + RF_CH, 40);         // 選擇射頻通道0x40
  147.    SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07);    // 數據傳輸率1Mbps,發射功率0dBm,低噪聲放大器增益
  148.    SPI_RW_Reg(WRITE_REG + CONFIG, 0x0e);      // CRC使能,16位CRC校驗,上電
  149. CE = 1;
  150. }

  151. uchar Check_ACK(bit clear)
  152. {
  153. while(IRQ);
  154. sta = SPI_RW(NOP);                    // 返回狀態寄存器
  155. if(MAX_RT)
  156.   if(clear)                         // 是否清除TX FIFO,沒有清除在復位MAX_RT中斷標志后重發
  157.    SPI_RW(FLUSH_TX);
  158. SPI_RW_Reg(WRITE_REG + STATUS, sta);  // 清除TX_DS或MAX_RT中斷標志
  159. IRQ = 1;
  160. if(TX_DS)
  161.   return(0x00);
  162. else
  163.   return(0xff);
  164. }

  165. unsigned char nRF24L01_RxPacket(unsigned char* RX_BUF)
  166. {
  167.     unsigned char revale=0;
  168. //SetRX_Mode();
  169. sta=SPI_Read(STATUS); // read register STATUS's value
  170. if(RX_DR)    // if receive data ready (RX_DR) interrupt
  171. {
  172.      CE = 0;
  173.   SPI_Read_Buf(RD_RX_PLOAD,RX_BUF,TX_PLOAD_WIDTH);// read receive payload from RX_FIFO buffer
  174.   revale =1;//we have receive data
  175. }
  176. SPI_RW_Reg(WRITE_REG+STATUS,sta);// clear RX_DR or TX_DS or MAX_RT interrupt flag

  177. return revale;
  178. }

  179. void main(void)
  180. {
  181. uchar a[5]={0xfe,0xfd,0xfc,0xf0,0x1d};
  182. uchar i;
  183. init_io();                // 初始化IO
  184. // RX_Mode();                // 設置為接收模式
  185. while(1)
  186. {
  187.   for(i=0;i<5;i++)
  188.   {
  189.    TX_BUF[i] = a[i];          // 數據送到緩存
  190.    TX_Mode(TX_BUF);   // 把nRF24L01設置為發送模式并發送數據
  191.    Check_ACK(1);               // 等待發送完畢,清除TX FIFO
  192.    delay_ms(250);
  193.    delay_ms(250);
  194. // RX_Mode();
  195.   }  
  196. }
  197. }
復制代碼
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一级片中文字幕 | 成人av一区| 欧美成人自拍视频 | 伊人久久综合 | 中文字幕国产一区 | 鸳鸯谱在线观看高清 | 国产日产欧产精品精品推荐蛮挑 | 中文字幕在线一区 | 国产三级大片 | 一级毛片视频 | 国产精品一区视频 | 五月婷婷在线视频 | 亚洲不卡在线观看 | 一区二区三区视频 | 免费成人国产 | 黄色网址免费在线观看 | 自拍视频网站 | 国产成人综合在线 | 精品久久久久久亚洲综合网 | 欧美日韩高清一区二区三区 | a国产视频 | 亚洲精品一区二区在线观看 | 国产在线不卡 | 岛国在线免费观看 | 黄网免费 | av网站在线看 | 欧美区在线| 国产亚洲一区二区三区在线观看 | 在线观看中文字幕 | 成人国产精品免费观看视频 | 国产精品一区二区av | 伊人网站在线 | av日韩一区| 国产福利视频网站 | 日日摸夜夜添夜夜添特色大片 | 91精品国产综合久久婷婷香蕉 | 亚洲天堂中文字幕 | 亚洲综合小视频 | www精品美女久久久tv | 亚洲精品美女视频 | 午夜午夜精品一区二区三区文 |