用定时器输入捕获做红外线接纳实验。(此次实验以通道2为例)
①stm32cube装备
②
③
④程序中首要用到的输入捕获相关寄存器
uint16_t tim_sr,tim_ccer,tim_ccr;
tim_sr=htim->Instance->SR;//状况寄存器
tim_ccer=htim->Instance->CCER;//捕获、比较使能寄存器
tim_ccr=htim->Instance->CCR2;//捕获比较寄存器2(即用来保存通道2产生中止时的CNT寄存器的值)
htim->Instance->CNT //计数寄存器
SR用来判别是不是输入捕获中止;
CCER寄存器用来判别当时是下降沿捕获中止仍是上升沿捕获中止,一起也能随时改动上升沿捕获仍是下降沿捕获;
CCR2寄存器一共当时中止产生时的CNT寄存器的值,也便是用来判别时刻的;(读取CCR2的值,能够清楚SR寄存器中的CC2IF标志位)
CNT是用来计数的,每个定时器时钟周期主动+1,咱们能够再需求的时刻将其清零,便于计时。