概述
目录
- 简介
- 硬件准备
- 设备清单
- 接线说明
- 重要函数说明
- 调试
- 联系我们
简介
本文档主要介绍Ra-01SC/Ra-01SCH模组驱动例程使用方法;
硬件准备
设备清单
硬件 | 数量 |
---|---|
Ra-001SC/Ra-01SCH 模组 | 2个 |
杜邦线 | 若干 |
USB转TTL模块 | 2个 |
STM32F103C8T6开发板 | 2个 |
MicroUSB线(安卓数据线) | 2根 |
接线说明
STM32F103C8T6主控 | Ra-001SC/Ra-01SCH 模组 |
---|---|
3.3V | 3.3V |
GND | GND |
PA4 | NSS |
PA5 | SCK |
PA6 | MISO |
PA7 | MOSI |
PB1 | RESET |
PB11 | DIO1 |
PA0 | DIO4 |
STM32F103C8T6主控 | USB转TTL模块 |
---|---|
GND | GND |
PA_9 | Rx |
重要函数说明
整个工程主要由两个部分组成:接收配置与处理以及发送配置与处理;
- 数据接收部分的配置:
void RadioSetRxConfig( RadioModems_t modem, uint32_t bandwidth,
uint32_t datarate, uint8_t coderate,
uint32_t bandwidthAfc, uint16_t preambleLen,
uint16_t symbTimeout, bool fixLen,
uint8_t payloadLen,
bool crcOn, bool FreqHopOn, uint8_t HopPeriod,
bool iqInverted, bool rxContinuous );
数据接收部分的配置主要参数为:
- modem:配置射频模式,[0: FSK, 1: LoRa]
- bandwidth:带宽配置;
FSK : 0
LoRa: [0: 125 kHz, 1: 250 kHz, 2: 500 kHz, 3: Reserved] - datarate:数据速率;
FSK : 600…300000 bits/s
LoRa: [6: 64, 7: 128, 8: 256, 9: 512, 10: 1024, 11: 2048, 12: 4096 chips] - coderate:编码率
FSK:设置为0
LoRa:[1: 4/5, 2: 4/6, 3: 4/7, 4: 4/8] - bandwidthAfc:设置AFC带宽
FSK:数值 >= 2600 并且 <= 250000 Hz
LoRa:无效位,设置0 - preambleLen:前导码长度
FSK:字节数
LoRa:前导码长度(单位是:symbols) - symbTimeout:设置单接收超时时间
FSK:超时时间(单位为:字节数)
LoRa:超时时间(单位是:symbol说) - fixLen:设置数据包是否固定长度(0:表长度为变量;1:固定)
- payloadLen:负载长度,当启用fixLen时
- crcOn:是否开启CRC校验(0:关闭;1:开启)
- FreqHopOn:使能/不使能跳频功能
FSK:无效位,设置0
LoRa:(0:关闭;1:开启) - HopPeriod:设置跳频周期
FSK:无效位,设置0
LoRa:跳频周期(单位是:symbols) - iqInverted:是否开启IQ转换功能
FSK:无效位,设置0
LoRa:(0:关闭;1:开启) - rxContinuous:设置是否启动连续接收模式
(0:设置单次接收模式;1:设置连续接收模式)
- 数据发送部分的配置:
void RadioSetTxConfig( RadioModems_t modem, int8_t power, uint32_t fdev,
uint32_t bandwidth, uint32_t datarate,
uint8_t coderate, uint16_t preambleLen,
bool fixLen, bool crcOn, bool FreqHopOn,
uint8_t HopPeriod, bool iqInverted, uint32_t timeout );
数据接收部分的配置主要参数为:
- modem:配置射频模式,[0: FSK, 1: LoRa]
- bandwidth:带宽配置;
FSK : 0
LoRa: [0: 125 kHz, 1: 250 kHz, 2: 500 kHz, 3: Reserved] - datarate:数据速率;
FSK : 600…300000 bits/s
LoRa: [6: 64, 7: 128, 8: 256, 9: 512, 10: 1024, 11: 2048, 12: 4096 chips] - coderate:编码率
FSK:设置为0
LoRa:[1: 4/5, 2: 4/6, 3: 4/7, 4: 4/8] - preambleLen:前导码长度
FSK:字节数
LoRa:前导码长度(单位是:symbols) - fixLen:设置数据包是否固定长度(0:表长度为变量;1:固定)
- crcOn:是否开启CRC校验(0:关闭;1:开启)
- FreqHopOn:使能/不使能跳频功能
FSK:无效位,设置0
LoRa:(0:关闭;1:开启) - HopPeriod:设置跳频周期
FSK:无效位,设置0
LoRa:跳频周期(单位是:symbols) - iqInverted:是否开启IQ转换功能
FSK:无效位,设置0
LoRa:(0:关闭;1:开启) - timeout:发送超时检测时间
- 回调函数部分的设置:
static void LLCC68OnTxDone( void );
static void LLCC68OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr );
static void LLCC68OnTxTimeout( void );
static void LLCC68OnRxTimeout( void );
static void LLCC68OnRxError( void );
- 发射完成中断 “LLCC68OnTxDone” ,该回调函数主要用于处理数据发送完成以后需要处理的逻辑内容;
- 接收完成中断 “LLCC68OnRxDone” ,该回调函数主要用于对接收到的数据进行处理;
- 发射超时中断 “LLCC68OnTxTimeout” ,该回调函数主要用于处理数据发送超时后的逻辑内容;
- 接收完成中断 “LLCC68OnRxTimeout” ,该回调函数主要用于处理数据接收超时后的逻辑内容;
- 接收数据校验出错中断 “LLCC68OnRxTimeout” ,该回调函数主要用于处理接收到的数据校验失败后的逻辑内容;
- 配置接收超时:
Radio.Rx( timeout );
配置参数说明:
- timeout :设置接收超时
注:若是从发送模式切换为接收模式,需事先设置模组进入待机模式,即调用函数 “Radio.Standby();”,之后再设置进入接收模式 。
- 配置数据发送:
Radio.Send(buffer,size);
配置参数说明:
- buffer:发送数据;
- size:发送数据长度;
调试
-
在文档 “project_config.h” 中设置各个射频参数,无论启用发送模式还是接收模式,这些参数均一致;
-
在文档 “main.c” 中设置模组启动进入接收或是设置循环发送数据;若是设置接收,则调用函数 “ExampleLLCC68ReciveDemo();”
函数,若是设置不断发送,则调用 “ExampleLLCC68SendDemo();” 函数; -
完成配置以后,一套设备烧录接收固件,另一套设备烧录发送固件,最后复位启动设备,并通过串口查看数据收发是否成功;
-
效果如下:
联系我们
以上就是本期分享的内容,目的在于让大家快速适应新品方案的开发,更多资料可从我们官网上获取。
官方官网:https://www.ai-thinker.com
开发资料:https://docs.ai-thinker.com/
官方论坛:http://bbs.ai-thinker.com
技术支持:support@aithinker.com
最后
以上就是炙热斑马为你收集整理的Ra-01SC/Ra-01SCH模组驱动简介硬件准备重要函数说明调试联系我们的全部内容,希望文章能够帮你解决Ra-01SC/Ra-01SCH模组驱动简介硬件准备重要函数说明调试联系我们所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复