README.md 12 KB

һĿ

adapterBoardDriver

Ʒ

ʾ

Ӧó

շͨѶ

ġӿ

6

  1. S1ƶ꣨ѡᷴԣѡֵѭƶѡ
  2. S2Էһ
  3. S3ƶ꣨ѡᷴԣѡֵѭƶѡ
  4. S4ܴ
  5. S51ʱ½빦ѡ档2ȷѡĿ3˳״̬

    LEDָʾ

    2

  6. D5ɫLEDͳɹָʾƵ

  7. D4ɫLEDճɹָʾƵ

    ߡʾͼӿ

    оѶӵҺģJLX19296G-382-PN Һģ֧4SPIнӿںIICӿڣĿʹIICӿʾС192*96

    ˡҪ

    š緽ʽ

    ֹ֧

  8. USBMICRO-Bͷ

  9. 3*5ŵع

  10. 2pinPHӹ磬עѹܳ5V

    ʮһߴ

    87mm*131.5mm

    ʮƵƵ

    433MHz490MHz868MHz915MHz

    ʮƵоƬ

    SX1268SX1262LLCC68

    ʮġоƬ

    AT32F413RCT7MCUSTM32F103RCT6Ӳ

    ʮ塢֤Ҫ

    ʮⲿӽӿ

  11. P7תUSB

  12. J1J2MCUGPIO

  13. P1microBITۣģתӰ

  14. P7MICRO-BUSBӣ

  15. P6ⲿ

  16. P5¼ӿ

    ʮߡ

    MDK-ARM Standard Version: 5.14.0.0

    ʮˡ

    C99׼

    ʮšSDK汾

    STM32F10x_StdPeriph_Lib_V3.5.0

    ʮ

ݰշ

Ͳ

-->S5-->ѡEnter RF Transmiter-->S5-->Packet Tx-->S5-->ʼͣͬʱSTART˸ʾ ɺ6SյACK·ͣͬʱطʱʱ䣨ӿʼ͵յACKʱ䣩ʱԶطʱط10κطʱʱԶл6S ͳɹD5ɫLED˸һ¡

ͼ

  1. 413msΪӿʼ͵յԷظӦĵʱ䣬ôʾOUTʾյȴACKʱ
  2. 100%ΪͳƵĶʣ°°S5¼
  3. hello world?Ϊյݰе?λõַÿζ᲻һ
  4. -004dBmΪһյݰźǿ

    ղ

    -->S5-->ѡEnter RF Receiver-->S5-->Packet Rx-->S5-->ʼգͬʱSTART˸ʾ յݺD4ɫLED˸һ

ͼ

  1. 11.67mAΪǰģĹ
  2. -13dBmΪһյݰźǿ
  3. hello world2hello world3hello world4Ϊյ3ݰյµݰʱʾϹ

    շʵ

    Է

    뷢Ͳ[style=bold,label="myRadio_receiver"]; 뷢Ͳ -> ʱ䵽[style=bold,label="myRadio_receiver"]; ʱ䵽 -> Ƶ[style=bold,label="myRadio_transmit"]; Ƶ -> [style=bold,label="ص\nrfRx_callback\n״ֵ̬\nTX_STA_SECCESS"]; -> ½״̬[style=bold,label="myRadio_receiver"]; } ">

    ܲ

  4. -->S5-->ѡEnter RF Setting-->S5-->SettingS1S3лĿȷҪõĿ󣬰S5вãĹ˸ʾʱͨS1S3µڲٰS5˳ãѡѡá

    1. TypeѡӦģͺţǰdemoĹ̼ܻݶͺŵģ飬ͺŵģԹһ̼
      1. VG2212S433N0S1
    2. ChnlõǰģŵŵӦʻTypeͺStepŵöı
    3. Stepŵÿŵ֮Ƶʴʵ̫ССļܻɲͬŵ豸Ƶɸš
    4. TxPower߷书ʡ书Խ󣬹ԽߣӦͨѶҲԽԶ
    5. RfBr߲ʡ߲ʵĴСʵĴС߲Խ󣬴ʱԽСӦĴԽ̣֮ԽԶյͨѶ룬ųص£Դ߷书ʺ߲

      ʮһע˵

      Ƶֲ

    6. ҪļradioеAPIȫֲӲصȫradio/myRadio_gpio.cУĿƽ̨ҲCԻļradioеļֻӦ޸radio/myRadio_gpio.cļеGPIOȿɣmyRadio_gpio.cõGPIOǺ궨project/board.hҲҪradio/board.hеĶֲMCUƽ̨Ҳģֻ޸project/board.hжӦĺ궨弴ɡ

    7. ˾Ϊͳһdemo򣬽ƵصIJ¶һ㣬radio/myRadio.cӦÿԲο

      ƵоƬIO˵

      IOھproject/board.h

      1. BOARD_GPIO_SPI_CLK
      2. BOARD_GPIO_SPI_MISO
      3. BOARD_GPIO_SPI_MOSI
      4. BOARD_GPIO_SPI_CSN
      5. BOARD_GPIO_SPI_GPIOA -> ֱƵоƬRSTţϵʼҪõ
      6. BOARD_GPIO_SPI_GPIOB -> ֱƵоƬIO1ţڽоƬжӦָʾ̸ͽжӦָʾûжӳ书
      7. BOARD_GPIO_SPI_GPIOC -> ֱƵоƬIO3ţڽоƬжӦָʾ̸δʹãûжӳ书
      8. BOARD_GPIO_SPI_GPIOD -> ֱƵоƬbusyţڼƵоƬ״̬Ƿæ״̬
      9. IOδʹãɸʵֲ

        Ӧÿע

        Ƶ

    8. ʹƵΪƵоƬʹõľƵģ羧ƵΪ32MHzҪʹ448MHzƵ

    9. ȱ֤SPIͨѶSPIʱƵоƬҪãͨʾ߼ǽӲ

    10. SPIͨѶ󣬽һԲ鿴ĴдĴжֲɹ

      ͨѶ

      Ӱߴ

    11. ߵƵףʹõƵκ߲

    12. 棬ͬ߶źŵĽЧӰܴ

    13. ·ģҪǰʹõΧ¥ľɽڵ

    14. źŸ

      ʮ

      ע

    15. sleep sleep״̬params.Fields.WarmStart = 1;params.Fields.WarmStart = 0; params.Fields.WarmStart = 1:ֱӵRadio.RxRadio.Send params.Fields.WarmStart = 0:ҪóʼܵRadio.RxRadio.Send

      ļܹ

      Դ²

    16. ѹ3.3V@SX126xSetDio3AsTcxoCtrl( TCXO_CTRL_3_3V, RADIO_TCXO_SETUP_TIME << 6 );

      ..\adapterBoardDriver_xxxxxxxxxxxxxxx_Vxx
      app \\Ӧģװ
      |  
      core    \\MCUںļ
      |  
      STM32F10x_FWLib \\MCUٷ⺯
      
      image   \\mdļʾõͼƬ
      |  
      keil_v5 \\keilļɵHEXļ
      |  Object  \\ɵHEXļڴļ
      peripheral  \\ĿõMCU
      |  
      project \\ĿGPIOļ
      |  
      radio   \\Ƶײļ
      |  myRadio_gpio.c  \\ƵӿӲʼ
      |  myRadio.c   \\ΪӦͨ÷װAPI
      

      Ӧͨ÷װAPI-radio/myRadio.c

    17. ʼ-void myRadio_init(int agr0, void *agr1_ptr) ƵоƬIOڳʼ-myRadio_gpio_init() Ƶʼ

    18. ƵеײִAPI-void myRadio_process(void) whileѭִ

    19. ƵAPI-void myRadio_abort(void)

    20. ȡƵ-uint32_t myRadio_getFrequency(void)

    21. Ƶ-void myRadio_setFrequency(uint32_t freq)

    22. ȡ书-int8_t myRadio_getTxPower(void)

    23. ÷书-void myRadio_setTxPower(int8_t power)

    24. ȡ߲-uint8_t myRadio_getBaudrate(void)

    25. ߲-void myRadio_setBaudrate(uint8_t br)

    26. ݰģʽ-void myRadio_transmit(rfTxPacket_ts *packet)

    27. ݰģʽ-void myRadio_receiver(void)

    28. ģʽ-void myRadio_setCtrl(controlMode_te mode, uint32_t value) ز书ܣԤ directģʽԤ ƲԤ

    29. Ƶжϻصvoid myRadio_gpioCallback(uint8_t index) ⲿжϼⶨmyRadio_gpio.c

    30. ٷδ壬ڵijAPIͬҵƵһ

    GDOx_CFG[5:0] Description
    0 0x00 RX FIFO RX FIFO 䵽 RX FIFO ֵʱԡ RX FIFO ľͬһֵʱȡ
    1 0x01 RX FIFO RX FIFO 䵽 RX FIFO ֵ򵽴ݰĩβʱԡ RX FIFO Ϊʱȡԡ
    2 0x02 TX FIFO TX FIFO ڻ TX FIFO ֵʱԡ TX FIFO ͬһֵʱȡ
    3 0x03 TX FIFO TX FIFO ʱԡ TX FIFO ľ TX FIFO ֵʱȡԡ
    4 0x04 RX FIFO ʱˢ FIFO ʱȡԡ
    5 0x05 TX FIFO ʱˢ FIFO ʱȡԡ
    6 0x06 ڷ/ͬʱԣݰĩβȡԡ RX Уݰڵַ󳤶ȹ˶ߵRXFIFO_OVERFLOW״̬ʱҲȡλTX TX FIFO 磬Žȡλ
    7 0x07 յ CRC OK ݰʱԡ RX FIFO ȡһֽʱȡ
    8 0x08 ﵽǰ PQI ڱ̵ PQT ֵʱԡоƬ½ RX ״̬ MARCSTATE=0x0D PQI ڱ̵ PQT ֵʱȡλ
    9 0x09 RSSI ֵʱΪߣȡڵǰCCA_MODEã
    10 0x0A ת߼ߵƽPLL״̬ҪPLLӦMCUж
    11 0x0B ʱӡͬģʽͬRXģʽ£GDOx_INV=0ʱCC1101½ݡTXģʽ£GDOx_INV=0.
    12 0x0C ͬͬģʽ
    13 0x0D 첽ģʽ
    14 0x0E С RSSI ֵΪߡģʽʱ
    15 0x0F CRC_OKCRCȽƥ䡣/ RX ģʽʱ
    16 0x10
    21 0x15 C ڲ
    22 0x16 RX_HARD_DATA[1]RX_SYMBOL_TICKһʹãRX
    23 0x17 RX_HARD_DATA[0].RX_SYMBOL_TICKһʹãRX
    24 0x18
    26 0x1A C ڲ
    27 0x1B PA_PD. ע⣺PA_PD˯ߺ TX ״̬½ͬźŵƽҪʹ SLEEP ״̬Ӧпⲿ PA RX/TX أ GDOx_CFGx=0x2F
    28 0x1C LNA_PD. ע⣺LNA_PD˯ߺͽ״̬½ͬźŵƽҪʹ SLEEP ״̬Ӧпⲿ LNA RX/TX أ GDOx_CFGx=0x2F
    29 0x1D RX_SYMBOL_TICKRX_HARD_DATAһʹãRX
    30 0x1E
    35 0x23 C ڲ
    36 0x24 WOR_EVNT0
    37 0x25 WOR_EVNT1
    38 0x26 CLK_256
    39 0x27 CLK_32k
    40 0x28 C ڲ
    41 0x29 CHIP_RDYn
    42 0x2A C ڲ
    43 0x2B XOSC_STABLE
    44 0x2C C ڲ
    45 0x2D C ڲ
    46 0x2E 迹3 ̬
    47 0x2F HW Ϊ 0ͨ GDOx_INV=1 ʵ HW1ڿⲿ LNA/PA RX/TX
    48 (0x30) CLK_XOSC/1 Note: There are 3 GDO pins, but only one CLK_XOSC/n can be selected as an output at any time. If CLK_XOSC/n is to be monitored on one of the GDO pins, the other two GDO pins must be configured to values less than 0x30. The GDO0
    49 (0x31) CLK_XOSC/1.5
    50 (0x32) CLK_XOSC/2
    51 (0x33) CLK_XOSC/3
    52 (0x34) CLK_XOSC/4
    53 (0x35) CLK_XOSC/6
    54 (0x36) CLK_XOSC/8
    55 (0x37) CLK_XOSC/12
    56 (0x38) CLK_XOSC/16
    57 (0x39) CLK_XOSC/24
    58 (0x3A) CLK_XOSC/32
    59 (0x3B) CLK_XOSC/48
    60 (0x3C) CLK_XOSC/64
    61 (0x3D) CLK_XOSC/96
    62 (0x3E) CLK_XOSC/128
    63 (0x3F) CLK_XOSC/192

    V04

    ʮ˵

    1ֻṩʾĿʹãδĿ֤ͻʹãʹʽĿ⣬˾Ųʹùκ⣬ɼʱ뱾˾Աϵ 2ļҵĿֲ˾롣