目录

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

简介

本文档主要介绍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

重要函数说明

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

  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

Ra-01SC/Ra-01SCH模组驱动相关推荐

  1. NB-IoT(7)---开发环境搭建及模组驱动开发

    NB-IoT(7)---开发环境搭建及模组驱动开发 STM32CubeMX安装及使用 1.STM32CubeMX介绍 2.STM32CubeMX安装 3.STM32CubeMX使用 STM32Cube ...

  2. NB-IOT开发|nbiot开发教程《三》AT指令类模组驱动-STM32实现AT指令状态机

    嵌入式开发中我们要时刻保持代码的高效与整洁看之前,先点赞 好习惯,要养成 一.前言 嵌入式开发中我们要时刻保持代码的高效与整洁.在第一节中"NB-IOT开发|nbiot开发教程<一&g ...

  3. 《OV4689摄像头模组驱动源码解析》

    <OV4689摄像头模组驱动源码解析> OV4689是一款广泛应用于工业.安防等领域的高清图像传感器.在这篇文章中,我们将介绍如何在单片机上使用OV4689模组,并提供相应的驱动源码. O ...

  4. 液晶模块LCM模组驱动原理介绍

    首先从lcm结构介绍的一文<什么是液晶模块,LCM是什么?液晶显示模块厂家介绍LCM模组结构>中,介绍液晶显示器件是LCM的主要显示元件,那么是如何驱动这些元件显示出成像的呢? 具有偶极矩 ...

  5. RK3399平台开发系列讲解(内核驱动外设篇)6.19、摄像头OV4689模组驱动代码分析

    平台 内核版本 SDK RK1108 Linux3.1 miniGUI 文章目录 内核配置: Camera 设备注册(DTS) `OV4689 Sensor` 驱动 probe入口: 结构体: RK` ...

  6. 涂鸦WIFI模组方案(模组 SDK)

    摘自:涂鸦智能模组 SDK 开发系列课程 地址:https://www.bilibili.com/video/BV1Kq4y1o728?p=1 摘自:涂鸦智能模组SDK开发系列课程--Wi-Fi接入 ...

  7. 【Quectel移远展锐平台5G模组RX500U/RG200U使用指南(二)-USB/TTL的使用】

    USB调试 展锐5G模组的USB接口有3个功能: USB转串口用于AT控制 USB转串口跟4G模块是一样的,都会虚拟出多个USB串口设备,Windows下是Quectel AT的串口设备,只需要安装原 ...

  8. 中国移动ML302模组(4G Cat.1 通信模组)TencentOS-tiny AT模组框架适配

    关于AT模组框架,之前学习TencentOS-tiny是有写过一篇文章的,链接如下: 还在用传统的方式驱动一个通信模组?不如一起来学习下TOS的AT模组框架吧! 最近查看了TencentOS-tiny ...

  9. IoT模组使用笔记(二):EC21、EC200指令流程、设置休眠、升级模组、切换运营商等

    五.EC20.BC20等模组指令和问题 5.1 EC20 5.1.1 注册网络失败. 5.1.2 TCP连接指令流程: 5.2 BC20 5.2.1 上电指令流程 5.3 EC21-KL 5.3.1 ...

最新文章

  1. 博世投资张翠波:自动驾驶需要突破芯片、传感器、深度学习算法等关键技术
  2. Java:带符号右移和无符号右移
  3. datetimepicker 时间不更新_iOS 14.2 正式版推送:新增人体检测,这些功能值得更新...
  4. json的键为变量而不是字符串时,怎么写?
  5. wxWidgets:wxTextOutputStream类用法
  6. zbbz的lisp_求CAD lisp 程序,选择一条或多条多段线,输出其上点的x,y,z坐标。
  7. CMUX协议学习总结
  8. ckfinder php 配置,PHP中Ckeditor Ckfinder配置图片上传功能
  9. QT教程—1.1Qt入门
  10. 读《我喜欢生命本来的样子》记(一)
  11. svg图放大、缩小、拖拽
  12. 华为防火墙笔记-GRE
  13. android 打包多个apk注意事项:
  14. 紫外线探测器SG01D-C18应用于紫外光刻机
  15. ICC配置文件与photoshop颜色管理
  16. BootStrap4工具类之屏幕阅读器
  17. 全流程低代码物联网平台IoT-Fast教你对接labVIEW
  18. 我们的手机用上北斗导航了吗? 1
  19. 图的创建(邻接矩阵和邻接表)
  20. 连续卷积和离散卷积定义及积分计算

热门文章

  1. Android编程权威指南第3版 9.5 挑战练习:日期格式化
  2. iOS状态栏操作之获取WiFi信号强度,WiFi名字和IP,网络类型,运营商,电池电量,系统时间等...
  3. LInux查看CPU GPU温度
  4. 房地产销售转行学习Python的小哥哥入职起薪9K!
  5. 网络层协议之IPv4
  6. 御黑行动来袭--助力三月重保,构筑安全防线!
  7. 采用pci的插槽计算机,从VGA视频采集卡看PCI插槽与PCI-E插槽
  8. 自然语言处理深度生成模型相关资源、会议和论文分享
  9. 如何利用NFT建立社区和品牌知名度?
  10. 怎样美化html文本框,HTML/css文本框样式美化代码