中移ML307开发板板载蓝牙使用教程-板载蓝牙基本介绍
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/ML307_OPEN_BLE" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
说明
开发板板载了一颗沁恒的CH582F蓝牙5.2芯片,用作需要蓝牙和模组通信的场合;
这颗蓝牙也可做低功耗,可控制4G模组电源做到极低功耗;
芯片具体参数可以看数据手册
电路连接说明
1,蓝牙芯片的UART0和4G模组的AT指令口(UART1)相连接
2,蓝牙芯片的UART3和板载RS485连接
3,使用VBAT引脚接3.7V锂电池供电时, 蓝牙芯片的 PB12 可以控制4G模组的电源(低电平得电)
5,板子Type-C口还连接了蓝牙芯片的USB口,可以做USB下载和USB设备通信
6,板子引出了蓝牙芯片的SWD下载口引脚, UART1
资料说明
1,这个里面提供了各种例程
文件目录 | |-- CH583: 低功耗蓝牙 - 32位RISC-V内核微控制器 | |-- CH583安卓OTA升级工具V1.1: CH583 OTA相关例程配套APP升级工具及源码,OTA升级说明文档及合并工具 | |-- EVT: CH583相关例程 | | |-- EXAM: | | | |-- SRC | | | | |-- Ld:link文件 | | | | |-- RVMSIS:内核系统头文件 | | | | |-- Startup:CH58x系列启动文件 | | | | |-- StdPeriphDriver:基本外设驱动源文件及头文件 | | | |-- ADC:adc采样例程,包括温度检测、单通道检测、差分通道检测、TouchKey检测、中断方式采样 | | | |-- FLASH:片上flash例程:包括Code区,DataFlash区的擦/读/写 | | | |-- FreeRTOS:FreeRTOS移植例程 | | | |-- I2C:I2C例程,Master/Slave 模式数据收发,详细说明参考根目录<I2C接口使用指南.PDF>文档 | | | |-- IAP | | | | |-- APP:和IAP配套使用的APP程序例程 | | | | |-- USB_IAP:通过USB更新片上程序的例程 | | | | |-- UART_IAP:通过串口更新片上程序的例程 | | | | |-- WCHMcuIAP_WinAPP:IAP上位机工具及源码 | | | |-- PM:系统睡眠模式并唤醒例程:GPIOA_5作为唤醒源,共4种功耗等级 | | | |-- PWMX:PWM4-11输出功能例程 | | | |-- SPI0:SPI0例程,Master/Slave 模式数据收发 | | | |-- TMR:定时器功能例程 | | | |-- UART1:串口1收发例程 | | | |-- USB | | | | |-- Device | | | | | |-- COM:USB模拟CDC设备例程 | | | | | |-- VendorDefinedDev:模拟自定义USB设备(CH372设备)例程,提供8个非0通道(上传+下传),实现数据先下传,然后数据内容取反上传 | | | | | |-- CompoundDev:USB模拟键鼠例程,支持增加数据上传;USB唤醒功能,USB HID类命令。 | | | | | |-- CompoundU2Dev:USB2模拟键鼠例程,支持增加数据上传;USB唤醒功能,USB HID类命令。 | | | | | |-- HID_CompliantDev:USB模拟HID兼容设备例程 | | | | |-- Host | | | | | |-- HostEnum:USB常见设备hid键鼠,hub的枚举数据上下传演示等 | | | | | |-- HostU2Enum:USB2常见设备hid键鼠,hub的枚举数据上下传演示等 | | | | | |-- HostAOA:USB主机应用例子,支持连接安卓设备与APP进行通讯。 | | | | | |-- U_DISK:U盘文件系统示例 | | | | | | |-- EXAM1.C:C示例源程序,以字节为单位读写文件,包括文件创建、删除、修改文件属性,修改文件名 | | | | | | |-- EXAM10.C:C示例源程序,包括文件创建、删除、修改文件属性,修改文件名 | | | | | | |-- EXAM11.C:C示例源程序,枚举根目录或者指定目下的文件 | | | | | | |-- EXAM13.C:C示例源程序,创建长文件名文件 | | | | | |-- USB_LIB:U盘文件系统库文件 | | | |-- BLE | | | | |-- Broadcaster:广播者角色例程,处于广播态一直广播 | | | | |-- CyclingSensor:骑行传感器例程,连接主机后定时上传速度和踏频 | | | | |-- CentPeri:主从一体例程,整合了主机例程和从机例程的功能同时运行 | | | | |-- Central:主机例程,主动扫描周围设备,连接至给定的从机设备地址,寻找自定义服务及特征,执行读写命令,需与从机例程配合使用,并将从机设备地址修改为该例程目标地址,默认为(84:C2:E4:03:02:02) | | | | |-- HeartRate:心率计例程,连接主机后定时上传心率 | | | | |-- Peripheral:外设从机角色例程,自定义包含五种不同属性的服务,包含可读、可写、通知、可读可写、安全可读 | | | | |-- RunningSensor:跑步传感器例程,连接主机后定时上传速度 | | | | |-- HID_Keyboard:蓝牙键盘例程,模拟键盘设备,连接主机后定时上传键值 | | | | |-- HID_Mouse:蓝牙鼠标例程,模拟鼠标设备,连接主机后定时上传键值 | | | | |-- HID_Consumer:蓝牙拍照器例程,模拟用户控制设备,连接主机后定时上传音量键下键 | | | | |-- HID_Touch:蓝牙触摸例程,模拟触摸笔设备,连接主机后定时上传触摸值 | | | | |-- MultiCentPeri:多主机多从机例程,支持同时连接三个主机三个从机 | | | | |-- MultiCentral:主机多连接例程,主动扫描周围设备,连接至给定的三个从机设备地址,寻找自定义服务及特征,执行读写命令,需与从机例程配合使用,并将从机设备地址修改为该例程目标地址,三个从机设备地址默认为 (84:C2:E4:03:02:02)、(84:C2:E4:03:02:03)、(84:C2:E4:03:02:04) | | | | |-- Observer:观察者角色例程,定时扫描,如果扫描结果不为空,则打印扫描到的广播地址 | | | | |-- Direct_Test_Mode:DTM测试例程序,结合RF测试工具使用 | | | | |-- RF_PHY:非标准无线收发例程 | | | | |-- RF_PHY_Hop:非标准无线跳频收发例程 | | | | |-- MESH | | | | | |-- adv_ali_light:天猫精灵灯例程,可通过天猫精灵找队友配网设备,控制开关状态。默认只有开关属性,如需添加其余属性(亮度,电量,温度等),需要自行根据阿里云产品配置的属性描述添加对应处理函数以及状态上报函数。 | | | | | |-- adv_ali_light_add_lightness:MESH通用属性添加例程。天猫精灵灯例程的基础上,添加了亮度属性,用于对照原天猫精灵灯例程,快速熟悉添加其他MESH通用属性的方法。 | | | | | |-- adv_ali_light_add_windspeed:天猫定义属性添加例程。天猫精灵灯例程的基础上,添加了风速属性,用于对照原天猫精灵灯例程,快速熟悉添加其他天猫定义属性的方法。 | | | | | |-- adv_ali_light_multi_element:多元素天猫精灵风扇灯例程。同时包含风扇开关摇头和灯开关颜色控制。用于对照原天猫精灵灯例程,快速熟悉添加多个属性的方法。 | | | | | |-- adv_ali_light_with_peripheral:天猫精灵灯例程的基础上,添加亮度和色温控制,并支持手机BLE调试助手连接控制。 | | | | | |-- adv_proxy:代理节点例程,可通过PB_GATT层(BLE连接)进行配网。 | | | | | |-- adv_vendor:厂商自定义模型例程,配合self_provisioner_vendor使用,支持有应答传输和无应答透传两种通信属性,自行拟定通信协议。 | | | | | |-- adv_vendor_friend:厂商自定义模型例程的基础上,支持朋友节点功能 | | | | | |-- adv_vendor_low_power:厂商自定义模型例程的基础上,支持低功耗节点功能,需与朋友节点配合使用 | | | | | |-- adv_vendor_self_provision:厂商自定义模型例程的基础上,支持本地自配网,适配无配网者或简化配网流程等特殊应用场景 | | | | | |-- adv_vendor_self_provision_IAP:MESH备份无线升级IAP例程,检测当前代码标志,判断是否搬运备份区代码到用户区并运行用户区代码 | | | | | |-- adv_vendor_self_provision_JumpIAP:MESH备份无线升级跳转IAP例程,放在代码起始地址,负责跳转到IAP程序 | | | | | |-- adv_vendor_self_provision_with_peripheral:MESH备份无线升级用户例程,厂商自定义模型例程的基础上,支持手机BLE调试助手连接控制,通过BLE接收配网信息并将自身配网,适用于终端控制组网应用,可自行拟定通信协议实现手机控制mesh网络中所有设备。 | | | | | |-- self_provisioner_vendor:厂商自定义模型自配网发起者例程,配合adv_vendor使用,自动配网周围未配网设备,并将其加入自身mesh网络,默认支持配网6个设备。默认配置设备绑定1个APPKEY,用于有应答传输和无应答透传,配置设备绑定1个订阅地址,用于群发无应答消息 | | | | | |-- self_provisioner_vendor_with_peripheral:厂商自定义模型自配网发起者例程的基础上,支持手机BLE调试助手连接控制,中转手机与mesh网络的通信,可自行拟定通信协议实现手机控制mesh网络中所有设备。 | | | | | |-- MESH_LIB:MESH协议栈库文件及其头文件 | | | | | |-- 沁恒MESH APP管理配网应用手册.pdf | | | | | |-- 沁恒低功耗蓝牙MESH软件开发参考手册.pdf | | | | |-- BackupUpgrade_IAP:备份无线升级IAP例程,检测当前代码标志,判断是否搬运备份区代码到用户区并运行用户区代码 | | | | |-- BackupUpgrade_JumpIAP:备份无线升级跳转IAP例程,放在代码起始地址,负责跳转到IAP程序 | | | | |-- BackupUpgrade_OTA:备份无线升级用户例程,外设从机例程基础上添加OTA功能,可将升级固件保存到备份区后跳转IAP程序进行升级 | | | | |-- OnlyUpdateApp_IAP:固定库无线升级IAP例程,具备OTA功能,接收升级固件后对用户区代码进行升级 | | | | |-- OnlyUpdateApp_JumpIAP:固定库无线升级跳转IAP例程,放在代码起始地址,负责跳转到IAP程序 | | | | |-- OnlyUpdateApp_Peripheral:固定库无线升级用户例程,外设从机例程基础上添加跳转IAP程序进行后续升级的功能 | | | | |-- BLE_UART:蓝牙串口透传例程,详细说明参考根目录<说明.txt>文档 | | | | |-- BLE_USB:蓝牙与USB合用例程,USB模拟340设备转发蓝牙数据 | | | | |-- SYNC_ADV:周期同步广播例程 | | | | |-- SYNC_SCAN:周期同步扫描例程 | | | | |-- HAL:例程共用的硬件相关文件 | | | | |-- LIB:BLE协议栈库文件及其头文件 | | | | |-- WCH蓝牙空中升级(BLE OTA).PDF | | | | |-- 沁恒低功耗蓝牙软件开发参考手册.pdf | | | | |-- BLE认证证书:产品:WCH CH58x QDID:179771 | | |-- PUB: CH583评估版原理图以及说明书 |
.