摘要: 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 阅读(3168) 评论(9) 推荐(1) 编辑
摘要: 转载 (11条消息) MounRiver_Studio的博客_CSDN博客-RISC-V IDE,RISC-V,ARM IDE领域博主 阅读全文
posted @ 2022-03-01 16:36 debugdabiaoge 阅读(584) 评论(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 阅读(2606) 评论(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 阅读(2248) 评论(0) 推荐(0) 编辑
摘要: /********************************** (C) COPYRIGHT ******************************* * File Name : Main.c * Author : WCH * Version : V1.0 * Date : 2020/0 阅读全文
posted @ 2022-02-15 16:54 debugdabiaoge 阅读(856) 评论(0) 推荐(1) 编辑
摘要: peripheral 怎么实现BLE所说的低功耗,下面进行功能讲解 程序烧写进EVT测试板,运行结果和电流测试截图如下 启动后,广播并且受到主机的扫描(打印受到扫描广播包的主机的mac地址),广播间隔设置的是50ms // What is the advertising interval when 阅读全文
posted @ 2022-02-12 16:51 debugdabiaoge 阅读(3194) 评论(0) 推荐(0) 编辑
摘要: 使用CH573 CH58x完成的APP代码很有可能需要进行升级,借助BOOT进行升级的话,可以通过APP跳转进入BOOT,借助芯片自带的BOOT和ISP工具,进行升级(支持串口1和USB下载) 跳转实现的代码,BOOT中有一段功能,如果APP起始的至少4字节是默认(无main跳转地址),则认为此芯片 阅读全文
posted @ 2022-02-10 20:53 debugdabiaoge 阅读(2251) 评论(0) 推荐(0) 编辑
摘要: peripheral通用外设例子是比较常用的BLE通讯功能demo,具有完成芯片和手机(PC)等其他BLE主机数据互通(上下传)的功能,包括读、写和通知数传功能。 使用该例子前建议手机上下载调试APP 安卓手机,应用市场直接搜索(BLE调试助手) 软件安装打开后的界面(需要开启定位授权,建议给所有提 阅读全文
posted @ 2022-01-27 14:40 debugdabiaoge 阅读(3745) 评论(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 阅读(1478) 评论(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 阅读(1056) 评论(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 阅读(2442) 评论(0) 推荐(0) 编辑
摘要: 1. 白名单机制 白名单(white list)是BLE协议中最简单、直白的一种安全机制。 所谓的白名单,就是一组蓝牙地址。 通过白名单,可以只允许特定的蓝牙设备(白名单中列出的)扫描(Scan)、连接(connect)我们。 也可以只扫描、连接特定的蓝牙设备(白名单中列出的)。 2.2 LE Cl 阅读全文
posted @ 2022-01-18 13:28 debugdabiaoge 阅读(1839) 评论(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 阅读(2852) 评论(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 阅读(1690) 评论(0) 推荐(1) 编辑
摘要: WCH TMOS详解 1.概述 蓝牙为了实现同多个设备相连,实现多功能和多任务,产生了调度问题。虽然软件和协议栈可扩充,但终究最底层的执行部门只有一个。为了实现多事件和多任务切换,需要把事件和任务对应,针对这种应用起了一个TMOS名字操作系统抽象层。 TMOS作为调度核心,BLE协议栈、profil 阅读全文
posted @ 2022-01-07 16:10 debugdabiaoge 阅读(10503) 评论(1) 推荐(4) 编辑
摘要: SDK更新建议 CH582 CH592 CH573 CH32V208 CH32F208 EVT更新建议 硬件原理图设计参考 CH582M 原理图设计 BLE天线画法 BLE 陶瓷天线画法 CH573 CH579 CH582 仿真相关 CH573 CH582 CH579 RISC-V仿真开启及使用 T 阅读全文
posted @ 2022-01-06 20:42 debugdabiaoge 阅读(10669) 评论(0) 推荐(3) 编辑
摘要: 广播报文和扫描报文解析 关于广播和扫描报文的解析如果想从协议本身就了解可以从头看起,如果想直接看看芯片的开发怎么使用,可以直接从第2节,报文解析开始。 图1 BLE报文结构 1.1 前导 前导是一个8比特的交替序列。根据接入地址的第一个比特为0或者1,分01010101和10101010两种。接收机 阅读全文
posted @ 2022-01-06 19:49 debugdabiaoge 阅读(15438) 评论(0) 推荐(1) 编辑
摘要: 以同用外设为例,在状态回调函数中 /********************************************************************* * @fn peripheralStateNotificationCB * * @brief Notification fr 阅读全文
posted @ 2022-01-06 15:50 debugdabiaoge 阅读(1111) 评论(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 阅读(3054) 评论(0) 推荐(0) 编辑
摘要: 1.systick介绍 Systick就是一个定时器而已,只是它放在了NVIC中,主要的目的是为了给操作系统提供一个硬件上的中断(号称滴答中断)。只要不把它在SysTick控制及状态寄存器中的使能位清除,就永不停息。 CH579系统嘀嗒时钟应用 main中添加 SysTick_Config(3200 阅读全文
posted @ 2022-01-05 11:11 debugdabiaoge 阅读(2052) 评论(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 阅读(2434) 评论(0) 推荐(0) 编辑
摘要: 在芯片提供的SDK中,BLE工程,HAL/include/config.h中有对蓝牙工程的一些配置选项 具体如下 /********************************************************************* 【MAC】 BLE_MAC - 是否自定义蓝 阅读全文
posted @ 2022-01-04 14:10 debugdabiaoge 阅读(2756) 评论(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 阅读(8608) 评论(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 阅读(5429) 评论(0) 推荐(1) 编辑
摘要: 7.2 外部中断/唤醒芯片的部分 I/O 管脚具有中断功能,并可实现睡眠唤醒。为了使用外部中断,端口位必须配置成输入模式。并提供 4 种触发模式:高电平、低电平、上升沿、下降沿。唤醒功能需要打开端口位的中断使能 R16_Px_INT_EN,并开启寄存器 R8_SLP_WAKE_CTRL 中的 GPI 阅读全文
posted @ 2021-12-28 13:49 debugdabiaoge 阅读(2575) 评论(0) 推荐(0) 编辑