CH573-08-BLE蓝牙(通信与点灯)——RISC-V内核BLE MCU快速开发教程

这篇具有很好参考价值的文章主要介绍了CH573-08-BLE蓝牙(通信与点灯)——RISC-V内核BLE MCU快速开发教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ch573,CH573—RISC-V内核BLE MCU快速开发教程,单片机,risc-v,CH573

1. BLE蓝牙通信

  1) 简介

   ch573芯片集成低功耗 2.4-GHz 无线通讯模块,包括 RF 收发器、基带和链路控制以及天线匹配网络,支持低功耗蓝牙 BLE。内部提供一百多个寄存器用于调节参数和控制过程及状态,官方优化的通讯协议栈和应用层 API,支持组网,支持各种主流操作系统下的上位机开发,提供各 OS 下的 API 和 APP,具体信息参考官方ch573手册和大量的官方例程。

  2) 蓝牙串口例程测试

    a) 打开工程

        官方提供了几十个BLE例程供大家参考,这里以蓝牙串口为例,打开例程“BLE_UART”的工程文件:
ch573,CH573—RISC-V内核BLE MCU快速开发教程,单片机,risc-v,CH573

    b) 打开peripheral_main.c文件

        在主函数中我们可以看到系统首先初始化了串口1:
ch573,CH573—RISC-V内核BLE MCU快速开发教程,单片机,risc-v,CH573

        按住ctrl,然后左键单机app_uart_init();函数:

ch573,CH573—RISC-V内核BLE MCU快速开发教程,单片机,risc-v,CH573

        可以看到在函数中初始化了串口3:
ch573,CH573—RISC-V内核BLE MCU快速开发教程,单片机,risc-v,CH573

    记住上面两个串口以及对应的引脚,在接下来的APP调试中会用到:

    c) 编译

   打开工程后,点击项目,然后点击编译:

ch573,CH573—RISC-V内核BLE MCU快速开发教程,单片机,risc-v,CH573

ch573,CH573—RISC-V内核BLE MCU快速开发教程,单片机,risc-v,CH573

    d) 烧录运行

      烧录后,使用USB-TTL连接开发板的串口1,即 PA8(RXD1)\PA9(TXD1),打开串口助手,波特率115200,然后按下复位,系统会打印初始化完成
ch573,CH573—RISC-V内核BLE MCU快速开发教程,单片机,risc-v,CH573

    e) 安装BLE调试助手

手机应用商店直接搜索“BLE调试助手”,可以看到有一款沁恒官方的APP,点击下载安装:
ch573,CH573—RISC-V内核BLE MCU快速开发教程,单片机,risc-v,CH573

    f) 在应用中连接开发板

        打开上面下载的APP,点击连接,同时串口助手中也可以看到连接信息:

ch573,CH573—RISC-V内核BLE MCU快速开发教程,单片机,risc-v,CH573

ch573,CH573—RISC-V内核BLE MCU快速开发教程,单片机,risc-v,CH573

    g) 通信测试

        选择最后的“Unknow Service”,完成数据发送:
ch573,CH573—RISC-V内核BLE MCU快速开发教程,单片机,risc-v,CH573

    在发送后可以看到模块发送了三字节同时接收到了三字节,在串口助手中也可以看到接收的数据大小:
ch573,CH573—RISC-V内核BLE MCU快速开发教程,单片机,risc-v,CH573

    然后我们将USB-TTL连接开发板的串口1换成串口3,即 PA4(RXD3)\PA5(TXD3),然后再次重复上述的数据发送操作,系统可以显示接收的具体数据内容:
ch573,CH573—RISC-V内核BLE MCU快速开发教程,单片机,risc-v,CH573

    然后我们切换到数据接收界面,关闭“hex”并打开“接收通知数据”ch573,CH573—RISC-V内核BLE MCU快速开发教程,单片机,risc-v,CH573

    串口助手中点击发送(此时连接的是串口3):
ch573,CH573—RISC-V内核BLE MCU快速开发教程,单片机,risc-v,CH573

    在数据接收界面可以收到数据:
ch573,CH573—RISC-V内核BLE MCU快速开发教程,单片机,risc-v,CH573

    至此BLE数据收发测试完成,接下来我们依托这个数据收发的工程完成自己的应用开发.


2. BLE蓝牙点灯

  1) 新建工程

    为了避免改用引起的错误,首先复制粘贴原来的工程项目,并命名为“CH573F_08_BLE_UART”

ch573,CH573—RISC-V内核BLE MCU快速开发教程,单片机,risc-v,CH573

  2) 蓝牙串口数据解析

      在上面的BLE蓝牙通信的使用中介绍到了蓝牙串口通过UART1打印日志调试信息,例如连接情况以及蓝牙串口接收数据的大小,并通过UART3完成蓝牙串口数据的收发,具体主要是体现在“peripheral.c”中的on_bleuartServiceEvt函数中,如下图所示:
ch573,CH573—RISC-V内核BLE MCU快速开发教程,单片机,risc-v,CH573

      写一个数据处理函数:

void PERSON_BLE_UART_DATA_HANDLE(uint8_t *data, uint16_t length);

      在头部添加声明:
ch573,CH573—RISC-V内核BLE MCU快速开发教程,单片机,risc-v,CH573

      在串口发送后的下方添加调用,并在下一函数实体中添加实现,例如将接收到的数据打印并根据接收的第一个字符控制LED的亮灭,如下图所示:

ch573,CH573—RISC-V内核BLE MCU快速开发教程,单片机,risc-v,CH573

/******************************************************************
 * 功能:蓝牙串口数据处理函数
 * 参数:uint8_t *data,接收的数据; uint16_t length,接收的数据长度
 * 返回值:无
 ******************************************************************/
void PERSON_BLE_UART_DATA_HANDLE(uint8_t *data, uint16_t length)
{
    UART1_SendString(data,length);
    UART1_SendString("\r\n",2);
    PRINT("data[0]=%c",data[0]);
    if(data[0]=='1')
    {
        GPIOB_ModeCfg(GPIO_Pin_15, GPIO_ModeOut_PP_5mA);//推挽输出最大5mA
        GPIOB_ResetBits(GPIO_Pin_15);
        UART1_SendString("LED turn on\r\n",sizeof("LED turn on\r\n"));
    }
    else if(data[0]=='0'){
        GPIOB_ModeCfg(GPIO_Pin_15, GPIO_ModeOut_PP_5mA);//推挽输出最大5mA
        GPIOB_SetBits(GPIO_Pin_15);
        UART1_SendString("LED turn off\r\n",sizeof("LED turn off\r\n"));
    }
}

  3) 编译烧录运行

    烧录后,使用USB-TTL连接串口1引脚PA8(RXD1)\PA9(TXD1),打开串口助手,设置波特率115200,打开串口,然后按下复位键,等待APP连接后重复上一讲的数据发送,不同的是,发送的数据是单个字符“0”和“1”,如下所示:
ch573,CH573—RISC-V内核BLE MCU快速开发教程,单片机,risc-v,CH573

    在串口助手中可以看到对应的处理结果:
ch573,CH573—RISC-V内核BLE MCU快速开发教程,单片机,risc-v,CH573文章来源地址https://www.toymoban.com/news/detail-699276.html


    如果串口1和串口3的蓝牙数据收发状态如上图所示,即达到本实验的目的,如果异常,请检查源代码,如有疑问可关注公众号 “IOT趣制作”,将您遇到的问题描述出来,平台收到您的留言后会第一时间进行解决。
    至此CH573快速入门-基础篇的教程到此结束,下一章节开始进入【第三章 进阶开发篇】,将结合多个传感器、执行器以及Android Studio的自定义蓝牙APP等多个内容进行详细讲解。

到了这里,关于CH573-08-BLE蓝牙(通信与点灯)——RISC-V内核BLE MCU快速开发教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • ESP32+idf开发—蓝牙通信入门之ble数据收发(notify)

    ESP32+idf开发—蓝牙通信入门之ble数据收发(notify)

    esp32作为蓝牙从机,与手机端蓝牙调试助手(如LightBlue)主机进行通信,实现数据的收发功能: 1、收:蓝牙调试助手发送数据控制esp32开发板led灯的亮灭; 2、发(notify):esp32将传感器数据(如温度数据)主动每隔2s发送给蓝牙调试助手,实现通知(notify)功能; ​ 1、BLE(

    2024年02月08日
    浏览(12)
  • 【全志T113-S3_100ask】12-2 Linux蓝牙通信实战(BLE初窥)

    【全志T113-S3_100ask】12-2 Linux蓝牙通信实战(BLE初窥)

    介绍完BLE之后,下面简单操作蓝牙 hcitool、bluetoothctl等工具,可以进行BLE设备的扫描、连接、配对、广播等操作 hcitool 可以发送HCI command,设置BLE的广播数据 bluetoothctl 可以新增蓝牙服务,返回回调等操作 sdptool 查看蓝牙信息和提供的服务 hciconfig 查看蓝牙信息 l2ping 测试蓝牙的

    2023年04月08日
    浏览(9)
  • 物联网开发笔记(53)- 使用Micropython开发ESP32开发板之蓝牙BLE通信

    物联网开发笔记(53)- 使用Micropython开发ESP32开发板之蓝牙BLE通信

    一、目的         这一节我们学习如何使用我们的ESP32开发板通过蓝牙和手机进行通信。 二、环境         ESP32 + 手机(笔者用的小米10) + Thonny IDE 三、蓝牙介绍         这个知识大家自行百度吧,这里不再赘述什么是蓝牙和蓝牙的历史,以及相关的专业知识。 四、

    2024年02月06日
    浏览(9)
  • HC-08蓝牙模块与电脑进行蓝牙远程通信! 支持HC-02、HC-08、HC-42蓝牙

    HC-08蓝牙模块与电脑进行蓝牙远程通信! 支持HC-02、HC-08、HC-42蓝牙

    1、PC需自带蓝牙,或使用外设的蓝牙适配器,且PC为WIN10系统。 2、适用于HC-02蓝牙20+4.0BLE模块、HC-08蓝牙4.0BLE模块、HC-42蓝牙5.0BLE模块 3、模块必须为从机,支持模块自身的波特率。 1、利用USB转TTL将HC-08蓝牙模块连接电脑,并打开串口助手。 2、在Microsoft Store(windows商店)搜索

    2024年02月09日
    浏览(7)
  • 串口通信——蓝牙模块使用(HC-08为例)

    串口通信——蓝牙模块使用(HC-08为例)

    (7条消息) 51单片机——串口通信详解(STC89C51为例)_佛科院深夜学习的博客-CSDN博客 https://blog.csdn.net/weixin_63568691/article/details/128274778 AT指令指在不连接蓝牙的条件下,通过串口发送,使蓝牙模块功能发生改变的指令 跟开发板与电脑进行串口通信相同的,需要一个USB转TTL模块,

    2024年02月02日
    浏览(7)
  • HC08蓝牙模块实现手机通信以及互相通信(附源码及解析)

    HC08蓝牙模块实现手机通信以及互相通信(附源码及解析)

    前言 本篇博客详细的介绍如何实现HC08主从机设置,命名,以及如何实现两个STM32通过HC08互相通信,并附带完整的操作步骤,以及源代码。 目录 一、HC08主从配置 1.1VOFA+的下载及基本用法 1.1.1VOFA+的下载         1.1.2VOFA+的基本用法    1.2配置HC08主从机及其他 二、两个STM32通

    2024年03月10日
    浏览(6)
  • STM32--- 蓝牙HC-08 (两模块间主从通信)

    STM32--- 蓝牙HC-08 (两模块间主从通信)

    1.1  开发软硬环境 芯片型号:STM32F103RCT6 开发软件:Keil5  (v5.31+AC5,最常用) 代码用库:标准固件库 蓝牙模块:HC-08 (汇承家的;  缺点:小贵 ,优点:pdf+串口助手+APP+小程序,完美) USB转TTL模块: CH9340C  (Type-C接口,win10可免驱动,比CH340和CP2102爽) 1.2  代码下载链接

    2024年02月03日
    浏览(7)
  • STM32F1 + 蓝牙HC08 与 手机APP通信

    STM32F1 + 蓝牙HC08 与 手机APP通信

    1.1  开发软硬环境 芯片型号:STM32F103RCT6 开发软件:Keil5  (v5.31+AC5,最常用) 代码用库:标准固件库 蓝牙模块:HC-08 (HC家的,小贵 ,配套图解、串口助手、APP、小程序,完美) USB转TTL模块: CH9340C  (Type-C接口,win10可免驱动,比CH340和CP2102爽) 1.2  代码下载链接 百度网

    2024年02月04日
    浏览(5)
  • 【RISC-V】RISC-V寄存器

    【RISC-V】RISC-V寄存器

    寄存器 别名 全称 说明 X0 zero 零寄存器 可做源寄存器(rs)或目标寄存器(rd) X1 ra 链接寄存器 保存函数返回地址 X2 sp 栈指针寄存器 指向栈的地址 X3 gp 全局寄存器 用于链接器松弛优化 X4 tp 线程寄存器 常用于在OS中保存指向进程控制块(task_struct)数据结构的指针 X5 ~ X7 X28 ~ X31 t0

    2024年02月10日
    浏览(12)
  • RISC-V(1)——RISC-V是什么,有什么用

    RISC-V(1)——RISC-V是什么,有什么用

    目录 1. RISC-V是什么 2. RISC-V指令集 3. RISC-V特权架构 4. RiscV的寄存器描述 5. 指令  5.1 算数运算—add/sub/addi/mul/div/rem  5.2 逻辑运算—and/andi/or/ori/xor/xori 5.3 位移运算—sll/slli/srl/srli/sra/srai 5.4 数据传输—lb/lh/lw/lbu/lhu/lwu/sb/sh/sw 5.5 比较指令—slt/slti/sltu/sltiu 5.6 条件分支指令—

    2024年02月11日
    浏览(8)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包