CH

沁恒触摸蓝牙模块方案测试体验(CH582)

前言: 前段时间看到网上有一个触摸方案的键盘,看起来比较新颖,仔细了解发现是沁恒微电子的芯片和方案,与原厂的工程师联系了一下,原厂也比较大方,直接寄过来一份触摸蓝牙方案demo,听说是一个触摸蓝牙门锁的方案,准备测试一下demo做到了什么程度,也来进行一次简单的体验。 初步上手: 沁恒的官方是提供了 ......
模块 方案 582 CH

【笔记】机器学习基础 - Ch6.5-6 Kernel Methods

6.5 Sequence kernels 考虑拓展 \(K:\cal X\times X\to\mathbb{R}\) 到 \(\cal X\) 不是向量空间的情况,例如序列、图像等等。现在令 \(\cal X\) 为字符串的集合,对应的核称为序列核 sequence kernels;一种序列核的框 ......
机器 Methods 基础 笔记 Kernel

关于CH32系列MCU低功耗相关

1、关于低功耗模式下的功耗排列 由低到高依次为:待机模式 < 停止模式 < 睡眠模式 < 运行模式 2、关于低功耗测试注意事项 需要将所有的IO口设置成下拉输入 需要开启PWR时钟,目的是为了将内部调压器设置成低功耗模式 测试时需要将板子指示灯、LDO等去掉 ......
功耗 MCU CH 32

CH58xCentral杂谈

一、直接连接无扫描 CH58x芯片作为主机建立连接是通过MAC地址方式,即先搜索周围从机的MAC,然后与内部保存的MAC比对并决定是否建立连接。 可以省略搜索周围从机而直接根据MAC发起连接,通过GAPRole_CentralEstablishLink即可。 if(events & Establis ......
杂谈 xCentral CH 58

CH573 CH582 CH579外设FLASH例程讲解

1.CH573和CH582的codeflash为448k,可用来存放程序和掉电保存的数据,dataflash为32k,可用来存放掉电保存的数据。 DataFlash 擦 写 读 接口函数: EEPROM_ERASE(0, EEPROM_BLOCK_SIZE); //Data-Flash擦地址为相对地 ......
外设 CH FLASH 573 582

中断-CH32V103如何关闭全局中断

CH32V103相较于其他RISCV芯片,无法关闭全局中断。目前EVT源码工程中只预留了关闭单个线中断的函数,如下图所示: 实现CH32V103关闭全局中断的操作方式如下: 1、替换使用特定的起始文件和core_riscv.h文件,因博客无法上传附件,可在此链接下获取:https://www.wch ......
全局 103 CH 32

CH573 CH582 CH579外设RTC使用讲解

一.RTC可以选择使用外部32768HZ晶振或芯片内部32768HZ(区别是精度不同)外部:20ppm以内 外部:0.04%-0.1%(400ppm-1000ppm)。 LClk32K_Select(Clk32K_LSI); //启用内部32K 精度0.04%-0.1%(400ppm-1000ppm ......
外设 CH 573 582 579

【WCH蓝牙系列芯片】-基于CH582开发板—四种低功耗模式电流测试

在WCH沁恒官方提供的CH583的EVT资源包中,找到BLE文件中找到PW这个工程文件,这是一个系统睡眠模式并唤醒例程;其中GPIOA_5作为唤醒源,共4种功耗等级。芯片提供以下 4 种主要的低功耗模式:1、空闲模式(Idle)所有外设保持正常供电,内核停止运行,时钟系统运转。检测到唤醒事件后,可以 ......
功耗 电流 芯片 模式 WCH

关于配置MCU从FLASH某一位置开始运行——以CH32V203为例

正常MCU运行时,都是从FLASH 0起始地址开始运行,有时因为某些需要,需要配置从非0地址开始运行。以CH32V203为例(适用于其他CH32V系列),主要修改配置如下: 主要集中在ld文件的修改: 1、修改FLASH的分配,将FLASH分配成2块区域,如下图 /* CH32V20x_D6 - C ......
位置 FLASH V203 MCU 203

CH57x/CH58x/CH59xBLE芯片TMOS任务详解

概述: 蓝牙为了实现同多个设备相连,实现多功能和多任务,产生了调度问题。虽然软件和协议栈可扩充,但终究最底层的执行部门只有一个。为了实现多事件和多任务切换,需要把事件和任务对应,针对这种应用起了一个TMOS名字操作系统抽象层。 TMOS作为调度核心,BLE协议栈、profile定义、所有的应用都围绕 ......
芯片 CH 任务 xBLE TMOS

CH58x三模键盘模组方案测试体验(CH555主控)

前言: 去年B站稚晖君的瀚文键盘一经推出,给键盘客制化圈子带来了不小的影响。在此之前,键盘客制化一般指外壳、轴体的选择,很少有针对键盘软件功能做新颖的开发。功能性的开发似乎已经进入了瓶颈阶段,来回折腾开发也只是围绕在灯光律动、屏幕等软件功能。稚晖君的瀚文键盘是最基本的有线键盘,然而功能上却异常丰富: ......
模组 键盘 方案 CH 555

CH32V208与CH582芯片的区别

目录 CH32V208和CH582都是沁恒的支持BLE5.0+的MCU,下面介绍两者的区别。 选型方面: ①CH32V208比CH582的ram和零等待flash更多。使用CH582,对速度有要求的代码,需要放到ram中运行;使用V208,对速度有要求的代码可以放到零等待flash中,不会占用ram ......
芯片 CH V208 208 32V

关于CH32V307 mstatus寄存器

关于CSR寄存器中的mstatus寄存器,我们在使用的时候主要需要关注位3MIE位,位7MPIE位,位12:11MPP,位14:13FS,各个位解释如下: 位MIE:用于控制打开或者关闭全局中断 当该MIE域的值为1时,表示机器模式下所有的中断全局打开。 当该MIE域的值为0时,表示机器模式下所有的 ......
寄存器 mstatus V307 307 32V

【WCH蓝牙系列芯片】-基于CH582开发板—添加一组自定义属性服务

在WCH沁恒官方提供的CH583的EVT资源包中,找到BLE文件中找到BLE_UART这个工程文件,在这个程序中添加一组自定义的属性服务,自定义包含五种不同属性的服务,包含可读、可写、通知、可读可写、安全可读。在没有添加之前,通过手机的BLE调试助手连接对应的蓝牙,可以观察到只有一个属性服务,这个属 ......
芯片 属性 WCH 582 CH

【笔记】在线凸优化 - Ch1. Introduction

1.1 The Online Convex Optimization Setting 在线凸优化 Online convex optimization (OCO),是一个带有博弈论、统计学习、凸优化的新玩意 给出如下问题叙述: 考虑一种博弈游戏,回合制,第 \(t\in [T]\) 回合,先由玩家从 ......
Introduction 笔记 Ch1 Ch

【笔记】机器学习基础 - Ch6. Kernel Methods

6.1 Introduction 继续从二分类模型出发,实际情况中样本通常不是线性可分的 一种思路是增大特征空间的维度,也就是加入原本特征的组合,即一个从 \(\cal X\) 到更高维 \(\mathbb{H}\) 的非线性映射 \(\Phi:\cal X\to \mathbb{H}\),从而在 ......
机器 Methods 基础 笔记 Kernel

CH59X/CH58X/CH57X sleep模式下串口唤醒收发数据

整体程序逻辑: 下方的具体程序及使用是基于CH592进行的 SLEEP模式睡眠唤醒是由协议栈管理的,还在睡眠时,无法接收到数据。 已经通过使能HAL_SLEEP开启睡眠。如果需要在睡眠时实时接收串口传来的数据是不可行的,需要先将设备唤醒之后再进行串口数据的接收; 将唤醒的条件设置为下降沿唤醒,当串口 ......
串口 CH 模式 数据 sleep

【WCH蓝牙系列芯片】-基于CH582开发板—LED亮度线性与非线性变化

在调节PWM的占空比控制LED的亮度变化的过程中,可以实现呼吸灯的效果。 但是,在实现过程中,可以察觉到LED在不同亮度变换过程中,在占空比较低的时候,LED亮度很明显,在高占空比过程中,LED亮度变化差异很小,这样就会导致整体呼吸灯效果不均匀,看起来很别扭。在灭下去的时候会突然一亮,而不是呈现一种 ......
非线性 线性 亮度 芯片 WCH

在CH582的USB代码中启用5、6、7双向端点

CH582手册中是有标明有8组USB端点的,不过代码中只用了端点0~4,端点5、6、7也是可以使用的。 占个坑代码后续更新。 ......
端点 双向 代码 582 USB

【WCH蓝牙系列芯片】-基于CH582开发板—定时器基础使用(定时时间和PWM输出)

在WCH沁恒官方提供的CH583的EVT资源包中,我们可以找到TMR的工程,这是一个定时器功能的例程,其中包含了定时、计数功能、PWM输出功能、捕捉功能。这次先介绍两个功能:第一就是采用定时器0,设定100ms定时器进行IO口电平翻转,第二就是采用定时器3,输出占空比任意可调的PWM波形。 第一、采 ......
定时器 芯片 基础 时间 WCH

CH32X035的IAP升级注意事项

我们的例程中选用的是USB与串口的升级方式,用户可以定义自己的接收APP数据的通信方式,需要注意的是,在跳转到APP前,需要先确定关闭了IAP程序中用到的所有中断,防止在APP中开启外设的时候进入中断,而APP中可能并没有编写中断服务函数而导致程序卡在启动文件中弱定义的中断函数中,从而导致APP无法 ......
注意事项 事项 X035 035 32X

CH58x芯片ADC

电池电压采集参考: ADC_InterBATSampInit(); for(i = 0; i < 20; i++) { abcBuff[i] = ADC_ExcutSingleConver(); // 连续采样20次 } for(i = 0; i < 20; i++) { CountBat += a ......
芯片 58x ADC CH 58

TIM-有感BLDC实现解析-基于CH32V203

TIM-有感BLDC实现解析-基于CH32V203 1、BLDC运行基本原理简要介绍 在图1-20(a)中,AB相通电,电流处于转子产生的磁场内,根据左手定则,我们判断线圈AA’中的上半部导线A受到一个顺时针方向的电磁力,而AA’的下半部导线A’也受到一个顺时针方向的电磁力。由于线圈绕组在定子上,定 ......
BLDC V203 TIM 203 32V

【WCH蓝牙系列芯片】-基于CH582开发板—基础外设输出PWM波形讲解

在WCH官方提供的CH583的EVT资源包中,我们可以找到PWMX的例程,这是一个8位的PWM输出,占空比和周期可调的例程。 1 int main() 2 { 3 SetSysClock(CLK_SOURCE_PLL_60MHz); //系统时钟60M--Fsys 4 /* 配置GPIO *///推 ......
波形 外设 芯片 基础 WCH

CH32X035 运放OPA和比较器CMP的应用

CH32X035 运放OPA和比较器CMP的应用 一、关于CH32X035介绍 CH32X035内置USB和PD PHY,20KB RAM,62KB FLASH,支持USB Host主机和USB Device设备功能、USB PD及Type-C快充功能,内置可编程协议I/O控制器,提供了OPA运放、 ......
X035 035 32X OPA CMP

CH32V203操作DHT11的应用

1、关于DHT11产品介绍 DHT11是一款数字温湿度传感器,单线制串行接口,信号传输距离可达20米以上。湿度测量范围为20—90%RH,精度为±5%RH;温度测量范围为0-50℃,精度为±2℃。通常应用在湿度调节器、暖通空调、测试及检测设备等应用领域。 2、关于DHT11应用连接 DHT11具有4 ......
V203 203 32V DHT CH

ch2_ab1 Linux内核模块

准备事项: | 虚拟机 | 系统 | 文件传输工具 | | | : | | | VMware | CentOS | Winscp | | VitualBox | Ubuntu | Xftp | | | | | 有2*2*2种选择,我是Virtualbox+Ubuntu+Winscp - [x] 下载 ......
内核 模块 ch2_ab Linux ch2

CH58xSPI0中断DMA

前言: 本文针对不常使用的SPI方式使用提供参考,结合SPI中断/DMA/首字节命令模式。 流程: 主机发送数据时首字节配置为待发送数据的长度; 从机使能SPI中断; 在进入中断后配置DMA接收数据。 代码: 主机发送代码参考: #if 1 /* SPI 0 */ GPIOA_SetBits(GPI ......
xSPI0 xSPI DMA CH 58

CH32V003的外部中断和事件

下面再次给出CH32V003的中断和异常的向量表。 从表中可以看到,从编号16~38的23个中断均为外设中断,其余4个为内核中断。 这里需要再说明一下事件与中断的区别: 事件表示检测到某一动作触发事件发生了,而中断则表示有某个事件发生并产生中断,然后会跳转到对应的中断处理程序中去执行。中断有可能被更 ......
事件 V003 003 32V CH

CH32V003的PFIC中断控制

CH32V003芯片是以青稞V2为内核的处理器,青稞V2 微处理器内部设计了一个可编程快速中断控制器(Programmable Fast Interrupt Controller,PFIC)可管理异常在内的最多256个中断。其中前16 个固定为微处理器内部中断,其余为外部中断,即最大支持扩展240个 ......
V003 PFIC 003 32V CH