随笔分类 - 外设应用相关
摘要:CH32的串口支持LIN模式,现通过以下寄存器配置实现LIN通信。 一 主机模式,整个LIN网络只有一个Master节点,其串口需要能生成一个特殊的、长达13位以上的低电平信号, 即间隔场(Break Field),以此标志一帧消息的开始。随后,指挥官发送同步字节(0x55)和受保护ID(PID),
阅读全文
摘要:当MCU作为USB主机获取125微秒的SOF(Start Of Frame)间隔时,其主要作用是为高速(High-Speed)USB通信提供一个精确的时间基准和同步信号。这个基准主要用于保证实时性数据的同步传输、精准的带宽控制以及防止设备进入休眠状态。下表总结了它的几个核心应用场景: 应用场景核心目
阅读全文
摘要:CH32V208/208系列具有强大的低功耗蓝牙与以太网控制器,对于想要用BLE无线转网络进而控制多个设备提供了支持。 对于BLE全速测试数据上下行大概8Mbps,208内置的以太网控制器为10Mbps速度,加上协议栈的缘故,跑TCP发的话 大概还有8Mbps左右,二者合并后,大概只有400Kbps
阅读全文
摘要:当我们使用H417需要用到DMA时,发现H417相比常规单核MCU的DMA配置多了一步 该步骤是关于DMA请求复用器(DMAMUX)的配置,该介绍如下 该部分设计相比之前单核MCU更加灵活,如之前单核MCU如果用到了DMA的某个通道,那么该通道下的别的外设将 不能再配置触发DMA请求,最多分时复用,
阅读全文
摘要:1.对于客户使用多个外设,导致部分GPIO口不受控的问题,例如:CH32F203的定时器3开启后会导致所有TIM3的IO都受制于TIM3,因为TIM3对GPIO的控制优先级大于TIM1。 由上面的表可知,当TIM3选中的引脚与TIM1选中的引脚重合时(默认映射或者响应映射),TIM1的GPIO会失效
阅读全文
摘要:在 USB(通用串行总线)通信中,双缓冲端点是一种优化数据传输效率和实时性的关键机制,主要用于批量传输(Bulk Transfer)和同步传输(Isochronous Transfer)场景。 一、双缓冲端点的核心概念与架构 1. 端点与缓冲的定义 端点(Endpoint):USB 设备与主机通信的
阅读全文
摘要:前沿 我们在查看用户手册的时候,会发现USBD的寄存器地址有两块,一块是0x40005C00 - 0x40005FFF,一块是0x40006000 - 0x400063FF, 本篇为大家讲解这两个寄存器地址有什么区别和联系。 0x40005C00是USB寄存器的基地址,所有其他USB寄存器会相对于基
阅读全文
摘要:I²C广播(General Call)是一种通过全局地址(0x00)向总线上所有设备同时发送指令的核心协议功能, 其设计目标是实现对多从设备的同步控制。 CH32系列单片机均支持此功能,下面介绍此功能的使用。其基本配置代码参考我们EVT IIC中断例程即可 本次主要介绍核心部分。 主机: I2C_G
阅读全文
摘要:我们CH32VF的部分芯片,支持全速的USBHD与USBD控制器,当二者都做设备的时候,大部分可以互换,但是USBD兼容ST的USB库,相比于USBHD的例程库,代码可读性较低,使用很不方便, 但是有的客户是有这方面需求的,需要进行一个替换,但是更改过程往往不如人意. 此文章旨在指出更改的要点步骤,
阅读全文
摘要:定时器具有输入捕获的功能,常用方法是使能定时器输入捕获中断,当上升/下降沿来临时,触发中断,进而进中断 读取到比较捕获值,但该办法有个限制,需要CPU参与处理,同时如果中断过多的话,可能还会有中断打断的问题。所 以可以采用更高效的办法,那就是用DMA来处理,具体处理思路就是利用捕获的这一DMA触发源
阅读全文
摘要:USB HID 设备是符合 USB HID 类规范的设备,它允许设备与计算机进行通信,实现人机交互功能,带有USB功能的CH32的EVT库里有模拟HID的dmeo,此例程与串口2交互实现USB与串口的透传功能。 鉴于很多USB初学者,此博客旨在通过详细的步骤,让客户快速上手此例程。 以V307的US
阅读全文
摘要:在 CH32 系列微控制器中,串口的智能卡模式(ISO 7816 - 3 协议)允许其与智能卡进行通信。下面将从功能、配置步骤到具体程序,详细分析该模式。 功能概述 智能卡模式是基于串口(USART)的一种特殊工作模式,遵循 ISO 7816 - 3 协议。该协议规定了智能卡与读卡器之间的电气接口和
阅读全文
摘要:一、使用双ADC的好处 1. 提高采样速度 当采样单通道的时候,ADC最快14M使用,1.5周期采样速度+12.5固定转换周期,最快可以到1M的采样速度,但是这仅限于一个通道连续采样的情况,对于想要对多个通道采样的用户来说,单个ADC的采样速度, 会因为采样通道的增加而减少,此时对于CH32FV20
阅读全文
摘要:CH32系列带USB功能的通用MCU,都是通过软件控制USB口上D+,D-的上拉电阻,而USB就是靠该上拉检测设备 是否插入,所以可以用该功能模拟USB的插拔功能。 我们以CH32F203为例,30x,20x的FS口同理,对该位置1即可启用上拉,插入主机口即可触发插入检测机制,同理置0即可去掉上拉
阅读全文
摘要:在有些电机,等一些常见特殊应用场合经常遇到需要输出具备有一定相位差的PWM波形 实现一 利用定时器的翻转模式: 翻转模式手册介绍:即当计数器计数到比较值时会翻转对应通道值电平,原理如下草图。那么只要比较值设的不同,即可实现类似的效果。 但有个限制,这种只能实现百分之50占空比。 void TIM1_
阅读全文
摘要:方法一:外部中断(EXTI)实时计数 原理 将脉冲信号连接到GPIO引脚,配置为外部中断模式(EXTI)。 每次检测到脉冲边沿(上升沿/下降沿)触发中断,在中断服务函数中累加计数值。 代码实现: 该部分实现不再列出,参考我们EXTI例程即可 特点 优点:简单易用,适合低频脉冲(<10kHz)。 缺点
阅读全文
摘要:使用208的MCU,当用到LSI作为Tmos的时基,受温度频偏影响较大,为了增强系统稳定性,蓝牙的库里内置了一套温度校准算法,需要用到ADC模块进行温度采样, 这样之后就会导致客户应用层ADC的采样中断,要是单次采样还可以重新配置,当是循环采样的时候,即会发生ADC模块的卡死。 【TEMPERATI
阅读全文
摘要:flash由于其有掉电保存的特性,常用于保存重要数据,本章介绍常见注意事项以及常见问题。 一,注意事项: 1,V20X,30X 在flash操作时需要注意主频别超过120M,如必须跑144M,可以在操作flash前降频处理 (代码:RCC->CFGR0 |= (uint32_t)RCC_HPRE_D
阅读全文
摘要:1.关于Systick CH32F103/203:CH32F103 /203 SysTick 和STM32F103 一样为Cortex-M3 内核,是一个24 位的向下递减计数器,计数器每计数一次的时间为1/SYSCLK(系统主频)。 CH32V10x_20x_30x&&CH32V00x&&
阅读全文
浙公网安备 33010602011771号