摘要: 如何获取芯片开发资料 方法一:按型号选择 我们更推荐采用按型号选择的方法,获取所对应型号芯片的开发资料,这能有效降低错误使用资料的风险! 沁恒官网首页的产品中心,点击青稞 RISC-V 通用系列,可跳转至 CH32V 系列单片机的产品选型表。 以 CH32V203C8T6 为例,点击红色方框中的芯片 阅读全文
posted @ 2023-12-19 13:46 WCH_CH32 阅读(1311) 评论(0) 推荐(1)
摘要: 一、CoreMark简述 CoreMark是一个广受认可的嵌入式处理器性能基准测试程序。您可以把它理解为嵌入式CPU领域的“考试试卷”或“跑分软件”。它的核心价值在于提供一个标准化、 可量化的方法,来衡量和比较不同处理器的核心性能。与之前更复杂的Dhrystone测试不同,CoreMark设计得小巧 阅读全文
posted @ 2025-11-01 16:10 WCH_CH32 阅读(0) 评论(0) 推荐(0)
摘要: 当我们使用H417需要用到DMA时,发现H417相比常规单核MCU的DMA配置多了一步 该步骤是关于DMA请求复用器(DMAMUX)的配置,该介绍如下 该部分设计相比之前单核MCU更加灵活,如之前单核MCU如果用到了DMA的某个通道,那么该通道下的别的外设将 不能再配置触发DMA请求,最多分时复用, 阅读全文
posted @ 2025-09-03 11:06 WCH_CH32 阅读(38) 评论(0) 推荐(0)
摘要: CH32的MCU配置了USB-IAP的下位机与上位机,便于客户后续迭代升级使用,其实就是利用MCU的通信外设(USB与串口),将升级的固件下发到芯片ram里,然后执行flash编程,结束后即可跳转程序执行APP, 此处可以不局限于升级APP,也可以通过此方式,将数据转发出去,已实现更多的功能,一下列 阅读全文
posted @ 2025-09-02 17:13 WCH_CH32 阅读(72) 评论(0) 推荐(0)
摘要: 1.对于客户使用多个外设,导致部分GPIO口不受控的问题,例如:CH32F203的定时器3开启后会导致所有TIM3的IO都受制于TIM3,因为TIM3对GPIO的控制优先级大于TIM1。 由上面的表可知,当TIM3选中的引脚与TIM1选中的引脚重合时(默认映射或者响应映射),TIM1的GPIO会失效 阅读全文
posted @ 2025-08-01 20:33 WCH_CH32 阅读(43) 评论(0) 推荐(0)
摘要: 在RTOS中,信号量(Semaphore)是一种实现任务间通信的机制,可以实现任务之间同步或临界资 源的互斥访问,常用于协助一组相互竞争的任务来访问临界资源。在多任务系统中,各任务之间需要 同步或互斥实现临界资源的保护,信号量功能可以为用户提供这方面的支持。在双核MCU中同样存在 核与核之间对公共资 阅读全文
posted @ 2025-08-01 11:42 WCH_CH32 阅读(96) 评论(0) 推荐(0)
摘要: 在 USB(通用串行总线)通信中,双缓冲端点是一种优化数据传输效率和实时性的关键机制,主要用于批量传输(Bulk Transfer)和同步传输(Isochronous Transfer)场景。 一、双缓冲端点的核心概念与架构 1. 端点与缓冲的定义 端点(Endpoint):USB 设备与主机通信的 阅读全文
posted @ 2025-06-30 17:04 WCH_CH32 阅读(223) 评论(0) 推荐(0)
摘要: 前沿 我们在查看用户手册的时候,会发现USBD的寄存器地址有两块,一块是0x40005C00 - 0x40005FFF,一块是0x40006000 - 0x400063FF, 本篇为大家讲解这两个寄存器地址有什么区别和联系。 0x40005C00是USB寄存器的基地址,所有其他USB寄存器会相对于基 阅读全文
posted @ 2025-06-23 17:32 WCH_CH32 阅读(144) 评论(0) 推荐(0)
摘要: I²C广播(General Call)是一种通过全局地址(0x00)向总线上所有设备同时发送指令的核心协议功能, 其设计目标是实现对多从设备的同步控制。 CH32系列单片机均支持此功能,下面介绍此功能的使用。其基本配置代码参考我们EVT IIC中断例程即可 本次主要介绍核心部分。 主机: I2C_G 阅读全文
posted @ 2025-06-19 17:55 WCH_CH32 阅读(237) 评论(0) 推荐(0)
摘要: 我们CH32VF的部分芯片,支持全速的USBHD与USBD控制器,当二者都做设备的时候,大部分可以互换,但是USBD兼容ST的USB库,相比于USBHD的例程库,代码可读性较低,使用很不方便, 但是有的客户是有这方面需求的,需要进行一个替换,但是更改过程往往不如人意. 此文章旨在指出更改的要点步骤, 阅读全文
posted @ 2025-05-29 19:23 WCH_CH32 阅读(84) 评论(0) 推荐(0)
摘要: 在使用003等小容量芯片时,经常也会有浮点数打印需求,但编译器自带浮点库大概需要十几K的 flash,对于003本身就只有16K flash的芯片来说,那就用不了了。 下面介绍怎么自己自定义一个%f 浮点数打印函数 注:整体思路就是将浮点数转换成字符串输出。 涉及到的头文件 #include "my 阅读全文
posted @ 2025-05-28 17:26 WCH_CH32 阅读(113) 评论(0) 推荐(0)