看原子的stm32脉冲捕获demo好像是在中断中来回切换触发方式(上升沿与下降沿),CH32可以不用切换用两个通道去捕获一个引脚。此两个通道可以一个设为上升沿一个设为下降沿实现。
一、先附上ch32V307的datasheet的说明:
14.3.1 输入捕获模式
1) 配置 CCxS 域,选择 ICx 信号的来源。比如设为 10b,选择 TI1FP1 作为 IC1 的来源,而不可以使用默认设置,CCxS 域默认是使比较捕获模块作为输出通道;
2) 配置 ICxF 域,设定 TI 信号的数字滤波器。数字滤波器会以确定的频率,采样确定的次数,再输出一个跳变。这个采样频率和次数是通过 ICxF 来确定的;
3) 配置 CCxP 位,设定 TIxFPx 的极性。比如保持 CC1P 位为低,选择上升沿跳变;
4) 配置 ICxPS 域,设定 ICx 信号成为 ICxPS 之间的分频系数。比如保持 ICxPS 为 00b,不分频
5) 配置 CCxE 位,允许捕获核心计数器(CNT)的值到比较捕获寄存器中。置 CC1E 位;
6) 根据需要配置 CCxIE 和 CCxDE 位,决定是否允许使能中断或 DMA。
14.3.4 PWM 输入模式
PWM 输入模式是用来测量 PWM 的占空比和频率的,是输入捕获模式的一种特殊情况。除下列区别外,操作和输入捕获模式相同:PWM 占用两个比较捕获通道,且两个通道的输入极性设为相反,其中一个信号被设为触发输入,SMS 设为复位模式。
例如,测量从 TI1 输入的 PWM 波