Ra-01SC/Ra-01SCH模组驱动

简介

本文档主要介绍Ra-01SC/Ra-01SCH模组驱动例程使用方法;

硬件准备

设备清单

硬件数量
Ra-001SC/Ra-01SCH 模组2个
杜邦线若干
USB转TTL模块2个
STM32F103C8T6开发板2个
MicroUSB线(安卓数据线)2根

接线说明

STM32F103C8T6主控Ra-001SC/Ra-01SCH 模组
3.3V3.3V
GNDGND
PA4NSS
PA5SCK
PA6MISO
PA7MOSI
PB1RESET
PB11DIO1
PA0DIO4
STM32F103C8T6主控USB转TTL模块
GNDGND
PA_9Rx

重要函数说明

整个工程主要由两个部分组成:接收配置与处理以及发送配置与处理;

  1. 数据接收部分的配置:
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:设置连续接收模式)
  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:发送超时检测时间
  1. 回调函数部分的设置:
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” ,该回调函数主要用于处理接收到的数据校验失败后的逻辑内容;
  1. 配置接收超时:
Radio.Rx( timeout )

配置参数说明:

  • timeout :设置接收超时

注:若是从发送模式切换为接收模式,需事先设置模组进入待机模式,即调用函数 “Radio.Standby();”,之后再设置进入接收模式 。

  1. 配置数据发送:
Radio.Send(buffer,size)

配置参数说明:

  • buffer:发送数据;
  • size:发送数据长度;

调试

  1. 在文档 “project_config.h” 中设置各个射频参数,无论启用发送模式还是接收模式,这些参数均一致;
    参数配置

  2. 在文档 “main.c” 中设置模组启动进入接收或是设置循环发送数据;若是设置接收,则调用函数 “ExampleLLCC68ReciveDemo();”
    函数,若是设置不断发送,则调用 “ExampleLLCC68SendDemo();” 函数;

  3. 完成配置以后,一套设备烧录接收固件,另一套设备烧录发送固件,最后复位启动设备,并通过串口查看数据收发是否成功;

  4. 效果如下:
    测试效果

联系我们

以上就是本期分享的内容,目的在于让大家快速适应新品方案的开发,更多资料可从我们官网上获取。

官方官网:https://www.ai-thinker.com
开发资料:https://docs.ai-thinker.com/
官方论坛:http://bbs.ai-thinker.com
技术支持:support@aithinker.com

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值