STM32F103手册中介绍,TIM14输入捕获极性CC1P(bit1-2)可设置为11,为双沿捕获,但是手册又描述了bit2为保留,哪些芯片能够设置呢?双沿是1次上升沿采样,下1次下降沿采样吗? |
的确如楼主说的,寄存器位描述是可以双边沿的,但是寄存器BIT2描述成保留位,但实际上这两位设置是用了CC1NP共同设置,请参考附图。不过个人认为通常设置双边沿捕获的方式不太常用,而且没有前后区分。脉冲时间短,处理起来时间又紧张。 我和 yr的观点一致,用一个定时器的两个引脚做捕获,一个上升沿,一个下降沿。这样只响应一个中断,那么前面那个值和顺序也就固定了,处理起来时间就宽松很多。唯一缺点就是多用了一个引脚。
你不能同时用两个通道吗,接在一起,一个配成上升沿捕捉,一个配成下降沿捕捉,分别在两个中断内处理。f103有timer14吗?我知道g4系列支持两个沿捕捉。
首先,STM32F1系列的TIM14的通道1是支持双沿捕捉的。 不过,客观上将手册这个地方写得有点问题,描述有点突兀。看懂不易,呵呵! 建议你将上文也看看。保留位是BIT2不错。手册里的00/01其实是bit3/bit1,对于一个通道的极性选择实质上是由CCxNP和CCxP控制位决定的。 if (HAL_TIM_IC_Init(&htim14) != HAL_OK) { Error_Handler(); } sConfigIC.ICPolarity = TIM_INPUTCHANNELPOLARITY_BOTHEDGE; sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI; sConfigIC.ICPrescaler = TIM_ICPSC_DIV1; sConfigIC.ICFilter = 0; if (HAL_TIM_IC_ConfigChannel(&htim14, &sConfigIC, TIM_CHANNEL_1) != HAL_OK) { Error_Handler(); }
你不能同时用两个通道吗,接在一起,一个配成上升沿捕捉,一个配成下降沿捕捉,分别在两个中断内处理。f103 ...
感谢您的解答。 STM32F103的超大容量xl类型有tim9---tim14;
首先,STM32F1系列的TIM14的通道1是支持双沿捕捉的。
感谢您的解答。那是不是这种双沿没有实际应用呢? 因为不确定进中断是上升沿还是下降沿,无法测出高电平或者低电平时间,只能测试周期,那这种模式就没有存在的意义了吧。
的确如楼主说的,寄存器位描述是可以双边沿的,但是寄存器BIT2描述成保留位,但实际上这两位设置是用了CC1N ...
感谢您的解答。1、那是不是这种双沿不是用的少,而是压根没有实际应用呢? 因为不确定进中断是上升沿还是下降沿,无法测出高电平或者低电平时间,只能测试周期,那这种模式就没有存在的意义了吧。 2、还有个问题请教下,直接用一个通道采集可以吗?上升沿捕获完成后切换极性为下降沿,下降沿捕获完成后切换极性为上升沿。
感谢您的解答。那是不是这种双沿没有实际应用呢? 因为不确定进中断是上升沿还是下降沿,无法测出高电平 ...
1、至于这个特性用得多寡,个人没法做结论。反正有这个特性在,遇到合适场合时就可以使用。 2、如果你想测量脉宽,1个通道配合极性切换也可以,那就得手动做极性的切换,也是种可行的常用方法。当然,我们也可以基于一路输入,映射到2个捕捉通道,分别就不同极性进行捕捉。大部分定时器支持该特性。这个方法也比较方便,手册里有相关方式的介绍。