|
1 tydzień temu | |
---|---|---|
.vscode | 1 tydzień temu | |
STM32F10x_FWLib | 1 tydzień temu | |
app | 1 tydzień temu | |
core | 1 tydzień temu | |
image | 1 tydzień temu | |
keil_v5 | 1 tydzień temu | |
peripheral | 1 tydzień temu | |
project | 1 tydzień temu | |
radio | 1 tydzień temu | |
README.md | 1 tydzień temu | |
README.pdf | 1 tydzień temu | |
gitFocePushRemote.bat | 1 tydzień temu | |
gitInit.bat | 1 tydzień temu | |
gitPushRemote.bat | 1 tydzień temu | |
keilkilll.bat | 1 tydzień temu |
adapterBoardDriver
ʾ
շͨѶ
6
S1
ƶ꣨ѡᷴԣѡֵѭƶѡS2
ԷһS3
ƶ꣨ѡᷴԣѡֵѭƶѡS4
ܴS5
1ʱ½빦ѡ档2ȷѡĿ3˳״̬
2
D5
ɫLEDͳɹָʾƵ
D4
ɫLEDճɹָʾƵ
оѶӵҺģJLX19296G-382-PN
Һģ֧4SPIнӿںIICӿڣĿʹIICӿʾС192*96
ֹ֧
USBMICRO-Bͷ
3*5ŵع
2pinPHӹ磬עѹܳ5V
87mm*131.5mm
433MHz490MHz868MHz915MHz
SX1268
SX1262
LLCC68
AT32F413RCT7
MCUSTM32F103RCT6
Ӳ
P7
תUSB
J1
J2
MCUGPIO
P1
microBITۣģתӰ
P7
MICRO-BUSBӣ
P6
ⲿ
P5
¼ӿ
MDK-ARM Standard Version: 5.14.0.0
C99
STM32F10x_StdPeriph_Lib_V3.5.0
-->
S5
-->ѡEnter RF Transmiter
-->
S5
-->Packet Tx
-->
S5
-->ʼͣͬʱSTART
˸ʾ
ɺ6SյACK·ͣͬʱطʱʱ䣨ӿʼ͵յACKʱ䣩ʱԶطʱط10κطʱʱԶл6S
ͳɹD5
ɫLED˸һ¡
413ms
Ϊӿʼ͵յԷظӦĵʱ䣬ôʾOUT
ʾյȴACKʱ100%
ΪͳƵĶʣ°°S5
¼hello world?
Ϊյݰе?
λõַÿζһ-004dBm
Ϊһյݰźǿ
-->
S5
-->ѡEnter RF Receiver
-->
S5
-->Packet Rx
-->
S5
-->ʼգͬʱSTART
˸ʾ
յݺD4
ɫLED˸һ
11.67mA
ΪǰģĹ-13dBm
Ϊһյݰźǿhello world2
hello world3
hello 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"]; } ">
-->
S5
-->ѡEnter RF Setting
-->
S5
-->Setting
S1
S3
лĿȷҪõĿS5
вãĹ˸ʾʱͨS1
S3
µڲٰS5
˳ãѡѡá
Type
ѡӦģͺţǰdemoĹ̼ܻݶͺŵģ飬ͺŵģԹһ̼
Chnl
õǰģŵŵӦʻType
ͺStep
ŵöıStep
ŵÿŵ֮Ƶʴʵ̫ССļܻɲͬŵ豸ƵɸšTxPower
߷书ʡ书ԽԽߣӦͨѶҲԽԶRfBr
߲ʡ߲ʵĴСʵĴС߲ԽʱԽСӦĴԽ̣֮ԽԶյͨѶ룬ųص£Դ߷书ʺ߲
Ҫļ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
жӦĺ궨弴ɡ
˾ΪͳһdemoƵصIJ¶һ㣬radio/myRadio.c
ӦÿԲο
IOھproject/board.h
RST
ţϵʼҪõIO1
ţڽоƬжӦָʾ̸ͽжӦָʾûжӳ书IO3
ţڽоƬжӦָʾ̸δʹãûжӳ书busy
ţڼƵоƬ״̬Ƿæ״̬IOδʹãɸʵֲ
ʹƵΪƵоƬʹõľƵģ羧ƵΪ32MHzҪʹ448MHz
Ƶ
ȱ֤SPIͨѶSPIʱƵоƬҪãͨʾǽӲ
SPIͨѶһԲ鿴ĴдĴжֲɹ
Ӱߴ
ߵƵףʹõƵκ߲
书
棬ͬ߶źŵĽЧӰܴ
·ģҪǰʹõΧ¥ľɽڵ
źŸ
sleep
sleep״̬params.Fields.WarmStart = 1;params.Fields.WarmStart = 0;
params.Fields.WarmStart = 1
:ֱӵRadio.Rx
Radio.Send
params.Fields.WarmStart = 0
:ҪóʼܵRadio.Rx
Radio.Send
ѹ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
ʼ-void myRadio_init(int agr0, void *agr1_ptr)
ƵоƬIOڳʼ-myRadio_gpio_init()
Ƶʼ
ƵеײִAPI-void myRadio_process(void)
whileѭִ
ƵAPI-void myRadio_abort(void)
ȡƵ-uint32_t myRadio_getFrequency(void)
Ƶ-void myRadio_setFrequency(uint32_t freq)
ȡ书-int8_t myRadio_getTxPower(void)
÷书-void myRadio_setTxPower(int8_t power)
ȡ߲-uint8_t myRadio_getBaudrate(void)
߲-void myRadio_setBaudrate(uint8_t br)
ݰģʽ-void myRadio_transmit(rfTxPacket_ts *packet)
ݰģʽ-void myRadio_receiver(void)
ģʽ-void myRadio_setCtrl(controlMode_te mode, uint32_t value)
ز书ܣԤ
directģʽԤ
ƲԤ
Ƶжϻصvoid myRadio_gpioCallback(uint8_t index)
ⲿжϼⶨmyRadio_gpio.c
ٷδ壬ڵ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 |
1ֻṩʾĿʹãδĿ֤ͻʹãʹʽĿ⣬˾Ųʹùκ⣬ɼʱ뱾˾Աϵ 2ļҵĿֲ˾롣