+-----------------------------------------------------------------------------+
| SX12xx drivers V2.0.0 |
+-----------------------------------------------------------------------------+
This package currently supports the following radio drivers:
- SX1232
- SX1272
- FSK modem
- LoRa modem ( Application default )
- SX1276
- FSK modem
- LoRa modem ( Application default )
1. Introduction
-------------------------------------------------------------------------------
The SX12xx drivers are included in a project made for the SX12xxEiger platform.
The SX12xxEiger platform is based on the OPEN4 platform from RAISONANCE.
The platform can use a STM32F407 or STM32F103 microcontroller ( ARM Cortex-M
based microcontrollers ).
Semtech has done an extension board for the OPEN4 platform which enables the
control of the SX12xx RF chip SM modules.
The project included is a RIDE 7 project. RIDE is an IDE made by RAISONANCE.
The project is also compatible with KEIL toolchain from ARM. The user can
select either of the project depending of its toolchain.
The project contains the low level drivers needed to control the extension
board peripherals as well as the SX12xx RF chip drivers. The demonstration
application is a simple PING-PONG.
By default the PING-PONG app acts as Master. If another Master is already
running the application will switch automatically to Slave and the PING-PONG
starts.
2. Radio drivers description
-------------------------------------------------------------------------------
The radio interface for the application is manged by the src\radio\radio.c file.
The RadioDriverInit function must be updated with selected radio
( SX1232, SX1272, SX1276 ) functions.
The drivers have been made to operate on several hardware platforms:
- the SX12xxEiger platform
- the SX12000DVK platform
- the "Bleeper"
The radio selection is done by commenting/uncomenting the USE_SX12XX_RADIO
definitions in src\platform\platform.h file
Example:
In order to select SX1272 with LoRa modem one must modify
src\platform\platform.h file as follows:
/*!
* Radio choice. Please uncomment the wanted radio and comment the others
*/
//#define USE_SX1232_RADIO
#define USE_SX1272_RADIO
//#define USE_SX1276_RADIO
In the case of the SX1276, it is also essential to select the module connected.
This is due to the fact that there are three different module with different
RF matching tailored for different frequency bands.
/*!
* Module choice. There are three existing module with the SX1276.
* Please set the connected module to the value 1 and set the others to 0
*/
#define MODULE_SX1276RF1IAS 0
#define MODULE_SX1276RF1JAS 0
#define MODULE_SX1276RF1KAS 1
For SX1272 and SX1276 radio devices, one must also choose the modem to be used.
In order to select the LoRa modem driver one must modify src\radio\radio.h as
follows:
/*!
* SX1272 and SX1276 General parameters definition
*/
#define LORA 1 // [0: OFF, 1: ON]
The drivers can also
2.1 Specific radio drivers description
-------------------------------------------------------------------------------
The specific radio driver is split in several parts in order to ease the
portability.
2.1.1 SX1232 driver
-------------------------------------------------------------------------------
The SX1232 driver is split in 2 parts
1. Generic SX1232 driver.
( src\radio\SX1232.c and src\radio\SX1232-Misc.c )
2. SX1272 HAL ( Hardware Abstraction Layer ).
( src\platform\sx12xxEiger\SX1272-Hal.c )
1. The generic SX1232 driver implements at least the functions required by
the RadioDriver structure defined in src\radio\radio.h file
In order to change generic settings one must modify the following
parameters in file src\radio\SX1232.c
The default parameters are all set into a structure which is fairly easy
to update for any system.
tFskSettings FskSettings =
{
870000000, // RFFrequency
9600, // Bitrate
50000, // Fdev
20, // Power
100000, // RxBw
150000, // RxBwAfc
true, // CrcOn
true, // AfcOn
255 // PayloadLength
};
REMARK: All other parameters can be changed by modifying the SX1232Init
function located in src\radio\SX1232.c file
2. The HAL makes the SX1232 driver platform independent.
One must modify each function inside this file
( src\platform\sx12xxEiger\SX1232-Hal.c ) according to the platform used.
2.1.2 SX1272 driver version 2.0.0
-------------------------------------------------------------------------------
The SX1272 driver is split in 4 parts
1. Generic SX1272 driver.
( src\radio\SX1272.c )
2. SX1272 FSK modem driver.
( src\radio\SX1272-Fsk.c and src\radio\SX1272-FskMisc.c )
3. SX1272 LoRa modem driver.
( src\radio\SX1272-LoRa.c and src\radio\SX1272-LoRaMisc.c )
4. SX1272 HAL ( Hardware Abstraction Layer ).
( src\platform\sx12xxEiger\SX1272-Hal.c )
1. The generic SX1272 driver implements at least the functions required by
the RadioDriver structure defined in src\radio\radio.h file. It offers also
the same interface for the FSK or the LoRa modem.
In order to choose which modem to use one must modify the src\radio\radio.h
file as follows:
- For FSK modem
#define LORA 0
- For LoRa modem
#define LORA 1
2. The FSK modem driver handles the SX1272 as a FSK modem
In order to change generic FSK modem settings one must modify the following
parameters in file src\radio\SX1272-Fsk.c
tFskSettings FskSettings =
{
870000000, // RFFrequency
9600, // Bitrate
50000, // Fdev
20, // Power
100000, // RxBw
150000, // RxBwAfc
true, // CrcOn
true, // AfcOn
255 // PayloadLength (set payload size to the maximum for
// variable mode, else set the exact payload length)
};
REMARK: All other parameters can be changed by modifying the SX1272FskInit
function located in src\radio\SX1272-Fsk.c file
3. The LoRa modem driver handles the SX1272 as a LoRa modem
In order to change generic LoRa modem settings one must modify the following
parameters in file src\radio\SX1272-LoRa.c
tLoRaSettings LoRaSettings =
{
870000000, // RFFrequency
20, // Power
2, // SignalBw [0: 125 kHz, 1: 250 kHz, 2: 500 kHz,
// 3: Reserved]
7, // SpreadingFactor [6: 64, 7: 128, 8: 256, 9: 512,
// 10: 1024, 11: 2048, 12: 4096 chips]
2, // ErrorCoding [1: 4/5, 2: 4/6, 3: 4/7, 4: 4/8]
true, // CrcOn
false, // ImplicitHeaderOn
1, // RxSingleOn
0, // FreqHopOn
4, // HopPeriod
100, // TxPacketTimeout
100, // RxPacketTimeout
4 // PayloadLength
};
4. The HAL makes the SX1272 driver platform independent.
One must modify each function inside this file
( src\platform\sx12xxEiger\SX1272-Hal.c ) according to the platform used.
2.1.3 SX1276 driver version V2.0.0
-------------------------------------------------------------------------------
The SX1276 drivers are very similar to the SX1272 drivers. In fact, most of the
drive
没有合适的资源?快使用搜索试试~ 我知道了~
semtech驱动源码SX12xxDrivers-2.0.0
共400个文件
h:197个
c:179个
s:5个
3星 · 超过75%的资源 需积分: 10 42 下载量 152 浏览量
2017-02-27
10:16:21
上传
评论 1
收藏 1.48MB RAR 举报
温馨提示
semtech驱动源码SX12xxDrivers-2.0.0,PING,PONG收发测试,可直接进行测试
资源推荐
资源详情
资源评论
收起资源包目录
semtech驱动源码SX12xxDrivers-2.0.0 (400个子文件)
sx12xxDrivers-Eiger-f10x.uvgui.Administrator 72KB
sx12xxDrivers-Bleeper.uvgui.Administrator 72KB
stm32f4xx_tim.c 123KB
stm32l1xx_tim.c 108KB
stm32f10x_tim.c 107KB
stm32f4xx_rtc.c 102KB
stm32l1xx_rtc.c 96KB
stm32l1xx_adc.c 73KB
stm32f4xx_rcc.c 73KB
stm32f4xx_adc.c 67KB
stm32l1xx_rcc.c 66KB
stm32l1xx_flash.c 66KB
stm32f10x_flash.c 61KB
stm32f4xx_can.c 59KB
usb_core.c 58KB
stm32l1xx_usart.c 57KB
stm32f4xx_usart.c 55KB
stm32f4xx_i2c.c 52KB
stm32f4xx_dma.c 51KB
stm32f4xx_spi.c 51KB
stm32f10x_rcc.c 50KB
stm32l1xx_i2c.c 49KB
stm32f10x_adc.c 46KB
stm32f10x_i2c.c 45KB
stm32f10x_can.c 44KB
stm32l1xx_spi.c 41KB
stm32f4xx_fsmc.c 41KB
stm32f4xx_sdio.c 39KB
stm32l1xx_dma.c 38KB
stm32f10x_usart.c 38KB
stm32f4xx_flash.c 37KB
stm32l1xx_sdio.c 37KB
stm32f10x_fsmc.c 35KB
stm32l1xx_pwr.c 33KB
stm32f4xx_cryp.c 32KB
usbd_dfu_core.c 31KB
usb_core.c 31KB
stm32f10x_spi.c 30KB
stm32f10x_dma.c 29KB
system_stm32f10x.c 29KB
usb_regs.c 29KB
stm32f10x_sdio.c 28KB
stm32f4xx_dac.c 26KB
stm32f4xx_hash.c 26KB
usbd_cdc_core.c 25KB
stm32f4xx_pwr.c 25KB
stm32l1xx_dac.c 25KB
sx1276-LoRa.c 24KB
stm32l1xx_lcd.c 24KB
usbd_audio_core.c 23KB
usbh_core.c 23KB
stm32f10x_gpio.c 23KB
usb_hcd_int.c 22KB
usb_dcd_int.c 22KB
sx1272-LoRa.c 22KB
stm32l1xx_syscfg.c 22KB
system_stm32f4xx.c 21KB
stm32f4xx_cryp_aes.c 21KB
stm32l1xx_aes_util.c 21KB
i2c.c 21KB
stm32f4xx_gpio.c 21KB
usbh_msc_scsi.c 21KB
system_stm32f2xx.c 20KB
usbd_req.c 20KB
stm32l1xx_aes.c 20KB
i2c.c 20KB
stm32l1xx_flash_ramfunc.c 20KB
stm32l1xx_opamp.c 20KB
usbh_stdreq.c 20KB
system_stm32l1xx.c 20KB
stm32l1xx_gpio.c 20KB
sx1276-Fsk.c 20KB
usbh_msc_bot.c 19KB
sx1272-Fsk.c 19KB
usbh_hid_core.c 19KB
sx1232.c 19KB
stm32f10x_dac.c 19KB
stm32f4xx_dcmi.c 19KB
usb_bsp.c 17KB
usbd_msc_scsi.c 17KB
usbh_msc_core.c 16KB
sx1276-FskMisc.c 16KB
usbd_hid_core.c 16KB
sx1272-FskMisc.c 14KB
stm32l1xx_fsmc.c 14KB
stm32f4xx_rng.c 14KB
usb_prop.c 14KB
sx1276-LoRaMisc.c 13KB
stm32l1xx_comp.c 13KB
sx1232-Misc.c 13KB
usbd_msc_core.c 13KB
usbh_ioreq.c 13KB
sx1272-Hal.c 12KB
sx1272-LoRaMisc.c 12KB
usbd_core.c 12KB
stm32f10x_cec.c 12KB
misc.c 11KB
misc.c 11KB
usbh_hid_keybd.c 11KB
stm32f4xx_wwdg.c 11KB
共 400 条
- 1
- 2
- 3
- 4
资源评论
- weixin_466662362023-11-24semtech的驱动源码,pin要重新核对
- 搬砖是一种积累2017-10-20就是semtech的驱动源码,没有修改过,不能直接用,我用stm32f407试了好久,博主你调出来了吗???
ordos123456
- 粉丝: 1
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功