摘要: 修改之前最好先学习下理论基础:BLE常用UUID 16bit和128bit 以CH582的peripheral为例 先看主要修改的文件,只改gattprofile.c 128bit 的UUID为了演示随便写的 第一处修改: 第二处修改 第三处是这个属性表 地四处修改 16 bit的处理搬下来就行,注 阅读全文
posted @ 2022-05-18 16:43 debugdabiaoge 阅读(1531) 评论(0) 推荐(0)
摘要: UUID: “GATT层”中定义的所有属性都有一个UUID值,UUID是全球唯一的128位的号码,它用来识别不同的特性。 1. BTSIG UUID 蓝牙核心规范制定了两种不同的UUID,一种是基本的UUID,一种是代替基本UUID的16位UUID。 所有的蓝牙技术联盟定义UUID共用了一个基本的U 阅读全文
posted @ 2022-05-18 16:04 debugdabiaoge 阅读(3105) 评论(0) 推荐(0)
摘要: 定频测试操作说明 1、 下载定频固件到芯片,相应固件可同官方人员索要(RF_HCI_Test-uart1(20210415).hex); 通过boot下载定频固件,每个芯片都有对应的DTM定频固件,在各自的EVT里面,以CH582为例子 2、 产品与串口接线,使用串口1(PA8、PA9),PA8接串 阅读全文
posted @ 2022-05-12 16:22 debugdabiaoge 阅读(2621) 评论(2) 推荐(0)
摘要: 以CH582的peripheral为例。默认BLE-LIB参与编译,例子编译的codeflash大小是 147184B。 有些情况希望LIB不参与编译,但又要使用BLE-LIB,这样可以使用我们提供的BLE固定LIB。固定LIB有2个 一个从0x10000地址开始,一个是从0x40000地址开始存放 阅读全文
posted @ 2022-05-11 18:01 debugdabiaoge 阅读(754) 评论(0) 推荐(0)
摘要: 蓝牙5特性二 【4X 远距离】 在4.2及以前的版本中蓝牙低功耗在信道传输中未使用纠错编码技术,标准规定的基准灵敏度为-70dBm(基本上每一家蓝牙芯片厂商都可以做到-90dBm)。 蓝牙5引入了卷积前向纠错编码(Convolutional Forward Error Correction Codi 阅读全文
posted @ 2022-04-29 11:22 debugdabiaoge 阅读(8112) 评论(0) 推荐(1)
摘要: 图1-1所示为电极中产生的自电容。自电容式按键中连接到电容传感器的单个电极将测量电容量C。C的值是由电极及其周围导体形成的寄生电容Cp和由电极及手指形成的寄生电容Cf的复合值。电容的大小可以通过电容方程式计算 (参见Note部分)。由于周围的器件是静态的,因此Cp是常量,但Cf会随着手指的靠近而增加 阅读全文
posted @ 2022-04-22 13:25 debugdabiaoge 阅读(787) 评论(0) 推荐(0)
摘要: 前言 RF_PHY 是wch提供的一个调用底层2.4g收发器的一个接口,可以通过此接口实现更为灵活的通信方式这种底层,仅仅是BLE的收发器基础上,这意味着,收发器调制解调参数,包括frequency,deviation,symbol_rate,以及packet_handler(preamble,sy 阅读全文
posted @ 2022-04-15 16:10 debugdabiaoge 阅读(2425) 评论(0) 推荐(0)
摘要: 主控MCU CH582F Nordic52832(挪威) nRF52810 nRF52840 BLE版本 BLE5.3 BLE5.0 BLE5.2 BLE5.2 内核 WCH RISC-V4A ARM®Cortex-M4F ARM Cortex M4 ARM® Cortex®-M4 Flash 44 阅读全文
posted @ 2022-04-14 20:34 debugdabiaoge 阅读(1973) 评论(0) 推荐(0)
摘要: 芯片支持BAT唤醒 以CH582 BAT低压为例(分高精度低压检测和一般电压监测,高精度监测功耗高) 一般电压监测操作示例: 重点是调用的时候,这个函数里面是关闭了电压监控的 LowPower_Sleep(RB_PWR_RAM30K | RB_PWR_RAM2K); //只保留30+2K SRAM 阅读全文
posted @ 2022-04-11 19:21 debugdabiaoge 阅读(1849) 评论(0) 推荐(0)
摘要: 电容式触摸按键设计应用参考 电容式触摸按键美观时尚,与传统的机械按键相比,具有寿命长、功耗小、成本低、体积小、持久耐用等优点,只要轻轻触碰就可实现开关控制、量化调节甚至是方向控制,颠覆了传统意义上的机械按键。现在电容式触摸按键已经广泛应用于手机、洗衣机和电视遥控器等一系列消费类电子产品中。 1. 触 阅读全文
posted @ 2022-04-07 15:17 debugdabiaoge 阅读(8756) 评论(0) 推荐(0)
摘要: 根据常见的两种天线举例: 1.单极性天线:(如:AN9520) (立创商城链接:https://item.szlcsc.com/100880.html) 说明:使用方式单一天线一样,一端是连接50欧阻抗匹配线,另一端是空的焊盘; 2.双极性天线:(如:RFECA3216060A1T) (立创商城链接 阅读全文
posted @ 2022-04-07 11:21 debugdabiaoge 阅读(2767) 评论(0) 推荐(0)
摘要: // Minimum connection interval (units of 1.25ms, 6=7.5ms) #define DEFAULT_DESIRED_MIN_CONN_INTERVAL 6 //最小连接间隔 // Maximum connection interval (units o 阅读全文
posted @ 2022-03-25 17:51 debugdabiaoge 阅读(11864) 评论(0) 推荐(0)
摘要: 以CH583EVT里面的代码为例子(实现通道读写控制的讲解) if(events & START_READ_OR_WRITE_EVT) //对0xFFE1 属性通道的读写操作 { if(centralProcedureInProgress == FALSE) { if(centralDoWrite) 阅读全文
posted @ 2022-03-24 20:41 debugdabiaoge 阅读(2753) 评论(1) 推荐(1)
摘要: 资源提取链接 链接:https://pan.baidu.com/s/1z-b2PdzKIK908XQX4rhUlw 提取码:ir8h 阅读全文
posted @ 2022-03-10 09:46 debugdabiaoge 阅读(1171) 评论(1) 推荐(0)
摘要: 蓝牙芯片sleep/shut down模式仅支持IO和RTC唤醒,如果IO只接了串口比如PA8/PA9(UART1),在睡眠前需将串口模式切换为普通IO,并设置唤醒。 如上图1正常初始化串口,睡眠前要将串口引脚设置为IO唤醒,T和R引脚设置应该不同,比如芯片R引脚应该设置成低电平唤醒,因为一般T引脚 阅读全文
posted @ 2022-03-08 16:39 debugdabiaoge 阅读(2239) 评论(0) 推荐(0)
摘要: 以573为例,默认 如果想修改分配的空间大小(一定是4K的整数倍,因为Flash擦写单位是4K) Jump IAP 固件4K(最小擦除空间4K) 比如像APP 40K,IAP分配20K(也就是Jump APP从0地址开始,占4K空间, APP从0x1000地址开始,占用 40K空间, IAP从0xB 阅读全文
posted @ 2022-03-08 16:12 debugdabiaoge 阅读(2106) 评论(0) 推荐(0)
摘要: OTA升级,以ble_uart为例(该工程是在ble_uart上修改的) 1、找到例程中的这三个工程,分别将这三个工程中的.hex取出; 1、打开ble_uart工程,将Ld中link.Ld替换成OnlyUpdateApp_Peripheral工程Ld中link.ld. 1、修改ble_uart工程 阅读全文
posted @ 2022-03-07 13:36 debugdabiaoge 阅读(3598) 评论(9) 推荐(1)
摘要: 转载 (11条消息) MounRiver_Studio的博客_CSDN博客-RISC-V IDE,RISC-V,ARM IDE领域博主 阅读全文
posted @ 2022-03-01 16:36 debugdabiaoge 阅读(664) 评论(0) 推荐(0)
摘要: void Peripheral_Init() { Peripheral_TaskID = TMOS_ProcessEventRegister(Peripheral_ProcessEvent); // Setup the GAP Peripheral Role Profile { uint8_t in 阅读全文
posted @ 2022-02-18 16:20 debugdabiaoge 阅读(2925) 评论(0) 推荐(0)
摘要: 非BLE工程设置RTC唤醒(BLE工程的睡眠唤醒由Tmos自己控制,用户只要按照自己的要求添加任务就行,空闲是MCU会自动睡眠,该执行任务时RTC会唤醒MCU执行任务) 非BLE工程设置RTC唤醒如下 使用外部32K设置RTC唤醒 LClk32K_Select(Clk32K_LSE);//启用外部3 阅读全文
posted @ 2022-02-16 14:41 debugdabiaoge 阅读(2565) 评论(0) 推荐(0)
摘要: /********************************** (C) COPYRIGHT ******************************* * File Name : Main.c * Author : WCH * Version : V1.0 * Date : 2020/0 阅读全文
posted @ 2022-02-15 16:54 debugdabiaoge 阅读(997) 评论(0) 推荐(1)
摘要: peripheral 怎么实现BLE所说的低功耗,下面进行功能讲解 程序烧写进EVT测试板,运行结果和电流测试截图如下 启动后,广播并且受到主机的扫描(打印受到扫描广播包的主机的mac地址),广播间隔设置的是50ms // What is the advertising interval when 阅读全文
posted @ 2022-02-12 16:51 debugdabiaoge 阅读(3921) 评论(0) 推荐(0)
摘要: 使用CH573 CH58x完成的APP代码很有可能需要进行升级,借助BOOT进行升级的话,可以通过APP跳转进入BOOT,借助芯片自带的BOOT和ISP工具,进行升级(支持串口1和USB下载) 跳转实现的代码,BOOT中有一段功能,如果APP起始的至少4字节是默认(无main跳转地址),则认为此芯片 阅读全文
posted @ 2022-02-10 20:53 debugdabiaoge 阅读(2519) 评论(0) 推荐(0)
摘要: peripheral通用外设例子是比较常用的BLE通讯功能demo,具有完成芯片和手机(PC)等其他BLE主机数据互通(上下传)的功能,包括读、写和通知数传功能。 使用该例子前建议手机上下载调试APP 安卓手机,应用市场直接搜索(BLE调试助手) 软件安装打开后的界面(需要开启定位授权,建议给所有提 阅读全文
posted @ 2022-01-27 14:40 debugdabiaoge 阅读(4122) 评论(2) 推荐(0)
摘要: // Default MITM mode (TRUE to require passcode or OOB when pairing) 设置开启 #define DEFAULT_MITM_MODE TRUE // Default bonding mode, TRUE to bond #define 阅读全文
posted @ 2022-01-24 10:30 debugdabiaoge 阅读(1654) 评论(0) 推荐(0)
摘要: 以串口1为例子串口初始化 GPIOA_SetBits(bTXD1); GPIOA_ModeCfg(bTXD1, GPIO_ModeOut_PP_5mA);//设置TXD输出 UART1_DefInit( );//串口1初始化,默认波特率115200 中断设置和开启 UART1_ByteTrigCfg 阅读全文
posted @ 2022-01-24 10:18 debugdabiaoge 阅读(1338) 评论(0) 推荐(0)
摘要: GPIO中断(PA0~PA15 PB0~PB15)支持GPIO中断 其中573 PB23和PB22 的GPIO中断 CH582M既有PB8/PB9 引脚,也有PB22/PB23引脚,默认GPIO中断在PB8和PB9,PB22和PB23就是普通IO,无中断功能。但是通过R16_PIN_ALTERNAT 阅读全文
posted @ 2022-01-19 16:26 debugdabiaoge 阅读(3106) 评论(0) 推荐(0)
摘要: 1. 白名单机制 白名单(white list)是BLE协议中最简单、直白的一种安全机制。 所谓的白名单,就是一组蓝牙地址。 通过白名单,可以只允许特定的蓝牙设备(白名单中列出的)扫描(Scan)、连接(connect)我们。 也可以只扫描、连接特定的蓝牙设备(白名单中列出的)。 2.2 LE Cl 阅读全文
posted @ 2022-01-18 13:28 debugdabiaoge 阅读(2127) 评论(0) 推荐(0)
摘要: CH579 CH573 CH582 config.h有一些预编译配置选项 #ifdef CH57xBLE_ROM#include "CH57xBLE_ROM.H"#else#include "CH57xBLE_LIB.H"#endif/******************************** 阅读全文
posted @ 2022-01-17 15:58 debugdabiaoge 阅读(3172) 评论(0) 推荐(0)
摘要: CH573的BLE LIB参与编译大小约为120K; CH583的BLE LIB参与编译大小超过164K; 蓝牙例子都是可以使用固定LIB的,库不参与编译,接收用户代码的大小 以CH582为例子 工程设置开启 CH57xBLE_ROM 和 LIB_FLASH_BASE_ADDRESSS 0x0004 阅读全文
posted @ 2022-01-10 10:24 debugdabiaoge 阅读(1928) 评论(0) 推荐(1)
摘要: WCH TMOS详解 1.概述 蓝牙为了实现同多个设备相连,实现多功能和多任务,产生了调度问题。虽然软件和协议栈可扩充,但终究最底层的执行部门只有一个。为了实现多事件和多任务切换,需要把事件和任务对应,针对这种应用起了一个TMOS名字操作系统抽象层。 TMOS作为调度核心,BLE协议栈、profil 阅读全文
posted @ 2022-01-07 16:10 debugdabiaoge 阅读(12379) 评论(1) 推荐(4)
摘要: BLE 芯片 ISP下载相关 CH BLE系列 ISP下载讲解 SDK更新建议 CH582 CH592 CH573 CH32V208 CH32F208 EVT更新建议 硬件原理图设计参考 CH582M 原理图设计 高速USB2.0电路设计指南 CH585 8K键盘、鼠标、手柄高速上报率PCB设计要求 阅读全文
posted @ 2022-01-06 20:42 debugdabiaoge 阅读(13493) 评论(0) 推荐(3)
摘要: 广播报文和扫描报文解析 关于广播和扫描报文的解析如果想从协议本身就了解可以从头看起,如果想直接看看芯片的开发怎么使用,可以直接从第2节,报文解析开始。 图1 BLE报文结构 1.1 前导 前导是一个8比特的交替序列。根据接入地址的第一个比特为0或者1,分01010101和10101010两种。接收机 阅读全文
posted @ 2022-01-06 19:49 debugdabiaoge 阅读(18853) 评论(0) 推荐(2)
摘要: 以同用外设为例,在状态回调函数中 /********************************************************************* * @fn peripheralStateNotificationCB * * @brief Notification fr 阅读全文
posted @ 2022-01-06 15:50 debugdabiaoge 阅读(1285) 评论(0) 推荐(0)
摘要: 下面一段话2个重点,573 582 579的看门狗计数器是8位的(计数最大255),计数周期131072/Fsys 以579为例,evt中主频都是32M,看门狗最大时间 (131072/32000000)*255=1.04448s 以573 582为例,evt中主频都是60M,看门狗最大时间 (13 阅读全文
posted @ 2022-01-06 11:16 debugdabiaoge 阅读(3637) 评论(0) 推荐(0)
摘要: 1.systick介绍 Systick就是一个定时器而已,只是它放在了NVIC中,主要的目的是为了给操作系统提供一个硬件上的中断(号称滴答中断)。只要不把它在SysTick控制及状态寄存器中的使能位清除,就永不停息。 CH579系统嘀嗒时钟应用 main中添加 SysTick_Config(3200 阅读全文
posted @ 2022-01-05 11:11 debugdabiaoge 阅读(2414) 评论(0) 推荐(1)
摘要: #include "I2C.h" //模拟IIC初始化 void I2CInit(void) { SCL_out; SDA_out; } void I2C_delay(void) { mDelayuS(100); } int I2C_Start(void) { SDA_H; SDA_out; SCL 阅读全文
posted @ 2022-01-04 14:23 debugdabiaoge 阅读(2955) 评论(0) 推荐(0)
摘要: 在芯片提供的SDK中,BLE工程,HAL/include/config.h中有对蓝牙工程的一些配置选项 具体如下 /********************************************************************* 【MAC】 BLE_MAC - 是否自定义蓝 阅读全文
posted @ 2022-01-04 14:10 debugdabiaoge 阅读(3286) 评论(0) 推荐(0)
摘要: 设计注意点: 供电: 芯片唯一电源输入口 3号脚(电压范围2.3V-3.6V),靠近引脚接不小于0.1uF的退耦电容 1脚和2脚短接(默认,关闭DCDC)/ 或者通过22uH的电感连接(开启DCDC),开启DCDC可以降低功耗(运行功耗低40%左右); 靠近VDCID接不小于0.1uF的退耦电容 1 阅读全文
posted @ 2021-12-30 14:56 debugdabiaoge 阅读(10376) 评论(0) 推荐(2)
摘要: RISC-V芯片仿真器使用 第一步:开启仿真 1)仿真开启需要芯片进入BOOT模式; 如:CH573 CH582 CH579,上电是PB22接地,通过USB(PB10、PB11)和串口1(PA8、PA9)连接PC端ISP工具; 2)确保芯片进入BOOT,启动仿真; 第二步:仿真器连接 1) 查找Mo 阅读全文
posted @ 2021-12-29 14:40 debugdabiaoge 阅读(6366) 评论(0) 推荐(1)