CH
关于使用CH32系列MCU定时器输出移相PWM波形
在定时器的输出模式中,有一种输出模式—翻转模式,通过使用该模式,可以使用一个定时器不同通道输出移相PWM波形。关于翻转模式,当核心计数器与比较捕获寄存器的值相同时,翻转该通道的电平。 使用翻转模式配置输出移相PWM波形代码如下: /********************************** ......
PTA-ch7b-5 : 最小工期
最小工期 一个项目由若干个任务组成,任务之间有先后依赖顺序。项目经理需要设置一系列里程碑,在每个里程碑节点处检查任务的完成情况,并启动后续的任务。现给定一个项目中各个任务之间的关系,请你计算出这个项目的最早完工时间。 输入格式: 首先第一行给出两个正整数:项目里程碑的数量 N(≤100)和任务总数 ......
CH573 CH582 CH592 CH579 看门狗WDOG例程
看门狗功能是基于一个8位的递增计数器,计数时钟周期为131072/Fsys。当开启了看门狗超时复位功能后,一旦此计数器溢出会复位整个系统。 CH579例程中主频都是32M,看门狗超时复位最长时间为 131072/32000000*255=1.04448s。 CH573 CH582 CH592例程中主 ......
CH573 CH582 CH592 CH579 SysTick使用
CH573:在中断中翻IO,用示波器和逻辑分析仪抓取,间隔是500ms。 int main() { SetSysClock(CLK_SOURCE_PLL_60MHz); DebugInit(); /* 配置串口调试 */ PRINT("Start @ChipID=%02X\n", R8_CHIP_I ......
基于CH32V307的组播应用
概述 组播是主机间一对多的通讯模式, 组播是一种允许一个或多个组播源发送同一报文到多个接收者的技术。组播源将一份报文发送到特定的组播地址,组播地址不同于单播地址,它并不属于特定某个主机,而是属于一组主机。一个组播地址表示一个群组,需要接收组播报文的接收者都加入这个群组。 实现方式 这里先讨论接收所有 ......
CH573 CH582 CH592 CH579常用库函数记录
一:系统篇: 软件复位 SYS_ResetExecute(); 延时函数 mDelaymS(1); //延时1ms mDelayuS(1); //延时1us 设置晶体匹配电容 void HSECFG_Capacitance(HSECapTypeDef c); //外部高频32MHZvoid LSEC ......
成都单片机开发:改造CH340 USB转串口线使之适合3.3V单片机的方法
本文介绍一种改造CH340 USB转串口线使之适合3.3V单片机的方法。一、 存在的问题USB串口线是常见的用于电脑与单片机之间进行通信的设备。现在市面上常见的USB转串口线有CH340串口线。这种串口线是电脑的USB口供电的,电脑的USB输出的电源一般是5V的,那么USB信号转换出来的串口电平一般 ......
CH32V20x_30x系列用户选择字区域应用与操作
来源:https://www.cnblogs.com/liaigu/p/17838776.html 简介 CH32V20x系列、V30x系列用户选择字区域大小为128字节,除却用户选择字信息结构用到的16字节,还剩余112字节可作为他用,用来存储相关数据等。 注意剩余空间在使用时,和上述一致,若[7 ......
CH32V20x_30x系列用户选择字区域应用与操作
简介 CH32V20x系列、V30x系列用户选择字区域大小为128字节,除却用户选择字信息结构用到的16字节,还剩余112字节可作为他用,用来存储相关数据等。 注意剩余空间在使用时,和上述一致,若[7:0]为数据,则[15:8]为数据的反码。此外,在对剩余空间进行操作时,需要将用户选择字信息结构部分 ......
Bookmark-CH32Vxx-RISC-V
RISC-V MCU启动文件分析:https://www.cnblogs.com/wahahahehehe/p/15140807.html#5048005 注:仅用于记录使用过程中涉及的相关文档。 ......
【WCH蓝牙系列芯片】-基于CH32V208开发板—串口USART_FLAG_TXE & USART_FLAG_TC
USART 模块支持多种中断源,这里说明一下USART_FLAG_TXE和USART_FLAG_TC对应的关系。 USART_FLAG_TXE 发送数据寄存器空表示数据缓冲区是否为空,为空时置1,表示可以写数据到数据缓冲区,有可能数据没有发送完。 USART_FLAG_TC 数据发送完成(TC)表示 ......
基于CH592的2.4G程序说明_IAP工具使用
上篇基于CH592的2.4G程序说明_固件升级介绍了我们这个上位机工具中的其中一页的升级功能,还有另外两页,本篇简单介绍下功能: 工具路径: 工具测试功能界面: 1、修改我们的Dongle端USB名称,可在我们电脑中的设备管理器中查看是否修改成功, 2、根据自己的需要选择是否需要修改为自己的VID, ......
读书笔记 -- Junit 实战(3rd)Ch07 用 mock object 进行测试
8.1 mock object 简介 隔离测试:最大优点是能编写专门测试单一方法的测试代码,而不会受到被测方法调用某个对象所带来的副作用的影响。 mock object (mocks):非常适合测试与代码的其余部分隔离开的一部分代码。 mocks 与隔离测试的区别:mock 并不实现任何逻辑,只提供 ......
rustbook-ch1-入门指南-总结
rustbook-ch1-入门指南-总结 一、rust版本管理 1、安装rust之前需要安装一个C语言编译器。 正常编译、执行rust程序,需要一个链接器。由于C语言编译器通常都会附带链接器,所以需要安装一个C语言编译器。除了编译执行需要链接器外,一部分常用的Rust包会依赖使用C语言编写的代码,为 ......
rustbook-ch1-入门指南-总结
rustbook-ch1-入门指南-总结 1、安装rust之前需要安装一个C语言编译器。 正常编译、执行rust程序,需要一个链接器。由于C语言编译器通常都会附带链接器,所以需要安装一个C语言编译器。除了编译执行需要链接器外,一部分常用的Rust包会依赖使用C语言编写的代码,为了编译这些Rust代码 ......
debian12 安装ch343驱动
前言 最近心血来潮,装了一台debian12玩,安装完毕arduino后发现没有ch343驱动,倒是在 ls /lib/modules/6.1.0-13-amd64/kernel/drivers/usb/serial/ 找到了ch341.ko,现在尝试自己安装ch343驱动 正文 安装过程主要参考了 ......
基于CH592的2.4G程序说明_一对多通讯程序修改点(1个Dongle对多个设备)
首先看我们的发送端(Mouse) 看下我们的绑定事件参数设置: 注意看这个bound.deviceId,我们让不同的mouse分别使用不同的ID号, Mouse1: Mouse2: Mouse3: Dongle端设置参数: 我们可以从调试信息中看到:Dongle端连上了三个不同ID的设备,并且将带宽 ......
读书笔记 -- Junit 实战(3rd)Ch05、Ch06 测试质量
Ch05 软件测试原则 1. 系统测试 测试替身 或 模拟对象 可以模拟复杂的真实对象的行为。 模拟对象(mock object):可以出现在单元测试级别,其作用是替代系统中不可用的部分或合并到一个测试中不切实际的部分。 测试替身(test doubles):是模拟对象,可 以可控的方式模拟真实对象 ......
CH32FV32系列进入STOP及STANBY模式电流大的问题
关于CH32FV32低功耗模式(STOP及STANDBY)。 我们EVT例程中将所有IO均配置成下拉输出而防止外部器件漏电流引起功耗增大。但是有的客户进入低功耗后需要IO电平保持从而出现了进入STOP/STANBY模式后电流还是很大(STOP几百个uA STANDBY一百多uA)。手册中低功耗电流如 ......
USB转串口芯片对比选秀---推荐CP2102和CH340C
参考应用文章:《USB转串口芯片你看好哪个(USB转串口芯片介绍)》 简短不看版:建议选择这2款芯片:CP2102/CP2104和CH340C。稳定性较好。 1. FT232 优势:最常用 缺点:假货多,并不是不能用,而是稳定性差。串口容易丢。 规格书: https://atta.szlcsc.co ......
CH32V307 使用PLL2配置系统时钟
在进行系统时钟配置时,可以选择HSI、HSE、PLL作为系统时钟来源。而PLL时钟来源有几下几种,如下图: 以下为CH32V307时钟树框图,如下图: 关于使用HSE或HSI作为系统时钟,在CH32V307 EVT都有相应例程,在system_ch32v30x.c文件中直接使用相关宏定义即可,如下图 ......
【WCH蓝牙系列芯片】-CH582固件程序烧录说明
作者: zyl4444 转载自:https://www.cnblogs.com/ZYL-FS/p/17608038.html 本文对于CH58x系列程序烧录的方法做出几点说明。在学习和使用WCH蓝牙系列过程中,这里以CH582芯片为例,对于它的固件程序烧录的方法有以下几种方法。 CH582采用ISP ......
关于CH32V系列将变量置于指定RAM地址的配置方式
1、修改ld文件,如下图: . = ORIGIN(RAM) + 0x100; *(.TEST) 2、将变量加入__attribute__((section(".TEST")))声明,如下图 3、编译后的效果如图所示 ......
MAX7219点阵屏四合一—基于CH32V307的应用
参考链接:https://blog.csdn.net/weixin_46957846/article/details/127352759 本篇文章为基于CH32V307的MAX7219级联应用,代码是基于上参考链接代码基础上修改,若有侵权请联系及时删除。该应用测试所用模块为一个四级级联模块,参考链接 ......
CH32V307的ram大小如何修改才不会变板砖
使用CH32V307的同学大概都会发现,这个芯片的ram是真的小,没怎么使用就快完了,或者直接出现创建线程失败的问题,归根结底就是ram太小了,如何修改呢?芯片手册上明明写着可以修改ram大小, 添加图片注释,不超过 140 字(可选) 我也在网上搜索了相关的帖子,照着做了,结果发现板子成了板砖…… ......
具有短路保护、坚固耐用的STGIF5CH60S-X、STGIF7CH60TS-XZ、STGIF7CH60S-X(IPM)600V IGBT模块
简介 第二系列SLLIMM(小型低损耗智能模制模块)采用简单、坚固的设计,提供紧凑、高性能的交流电机驱动。它将新型ST专有控制IC(一个LS驱动器和一个HS驱动器)与改进的短路加固沟槽栅极场截止(TFS)IGBT相结合,使其成为硬开关电路中工作频率高达20 kHz的电机驱动器的理想选择。 器件规格 ......
CH32F系列MCU固件中加入版本信息方法
具体方法如下: 1、新建一个.c文件,如banben.c 2、新建文件中加入以下信息,如下图 #define VERINFO_ADDR_BASE (0x0800F000) //存放FLASH的地址 const char Software_Ver[] __attribute__((at(VERINFO ......
关于CH32V系列MCU浮点打印使用配置差异
当程序中需要打印浮点数时,按照下图配置任意勾选一个即可打印浮点数: 当勾选第一个时,float打印会输出正确数值,具体如下: 当勾选第二个时,float打印输出数值如下(5.20会输出5.19),具体如下。 此时若需要输出正确数值5.20,将float类型改为double类型即可 产生该现象的原因: ......