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

news/2024/11/29 7:52:10/

目录

  • 简介
  • 硬件准备
    • 设备清单
    • 接线说明
  • 重要函数说明
  • 调试
  • 联系我们

简介

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

硬件准备

设备清单

硬件数量
Ra-001SC/Ra-01SCH 模组2个
杜邦线若干
USB转TTL模块2个
STM32F103C8T6开发板2个
安卓线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


http://www.ppmy.cn/news/1599.html

相关文章

给定一个字符串str,求最长回文子序列长度。

问题描述&#xff1a; 给定一个字符串str&#xff0c;求最长回文子序列长度。 思想&#xff1a; 思想一&#xff1a; 根据回文串的性质&#xff0c;我们可以生成一个新的字符串&#xff0c;新字符串的顺序是原来字符串的倒序。本题可以转化为两个字符串求最长的公共子序列。 …

Windows搭建web站点:免费内网穿透发布至公网 1-2

什么是cpolar&#xff1f; cpolar是一个非常强大的内网穿透工具&#xff0c;开发调试的必备利器。 它可以将本地内网服务器的HTTP、HTTPS、TCP协议端口映射为公网地址端口&#xff0c;使得公网用户可以轻松访问您的内网服务器&#xff0c;无需部署至公网服务器。支持永久免费使…

Python 全栈系列209 so_pack

说明 新部署的基本服务 最近发现好些应用,特别是贴近某些具体功能的镜像里普遍都使用了SO加密。还有些连系统账户的权限都限制了,实在懒得去破解root密码。 当然现在站在自己的角度,也认可这样的设置,共享不一定代表完全开源。有时候想做修改只是因为作者封装镜像的时候功…

19.前端笔记-CSS-显示隐藏元素

1、元素的显示与隐藏 场景&#xff1a;网站广告&#xff0c;点击关闭就不见了&#xff0c;但是刷新页面&#xff0c;就会出现 本质&#xff1a;让一个元素在页面中隐藏或显示出来&#xff0c;隐藏不是删除 2、实现方式 2.1 display 显示隐藏&#xff08;***&#xff09; di…

纯自动化的消息发送工具实现!

纯自动化的python实现模仿的是人的手动操作的过程&#xff0c;并不做后端接口等的实际操作。 通过模仿手动操作完成业务处理&#xff0c;这里使用到了两个python的非标准模块&#xff0c;分别是pyautogui和pyperclip模块。 如果没有安装的话直接使用pip的方式安装一下这两个模…

搭建一个属于自己的博客

经过多个大佬的教程也踩了不少坑&#xff0c;下面是我的搭建过程可以参考一下 这是我的博客欢迎大家访问和留言&#xff1a;我的博客 搭建博客主教程&#xff1a; 【基础篇】hexo博客搭建教程 - huanhao - 博客园 部署到gitee&#xff1a; Hexo Gitee 免费部署静态博客_玄…

Android入门第42天-Android中的Service(IntentService)

开篇 在前一篇中我们讲了bindService的使用。并且我们留下了一个念想&#xff0c;即在bindService取值时故意阻塞30秒&#xff0c;引起了一次ANR并引出了今天的章节-IntentService。 IntentService的生命周期中有一个非常好的方法-onHandleIntent方法&#xff0c;它是一个abs…

JavaWeb_第5章_会话技术_Cookie+Session

JavaWeb_第5章_会话技术_CookieSession 文章目录JavaWeb_第5章_会话技术_CookieSession1&#xff0c;会话跟踪技术的概述2&#xff0c;Cookie2.1 Cookie的基本使用2.2 Cookie的原理分析2.3 Cookie的使用细节2.3.1 Cookie的存活时间2.3.2 Cookie存储中文3&#xff0c;Session3.1…