目的:实现对边沿信号的捕捉并及时,可用作计算脉宽,或者频率等功能;
需要外设:TIM8
需求:测量TIM8_CH2的输入频率;
操作:
1.配置TIM8外设;
2.读取两次下降沿的时间间隔
1.编写相关函数
// IO口的配置
void IO_Init(void)
{
RCC->APB2ENR |= 1<<4; //使能GPIOC时钟
GPIOC->CRL &= 0X0FFFFFFF; //清除GPIO PC7的配置;
GPIOC->CRL |= 0X40000000; //PC7浮空输入
}
//定时器8配置
//定时器8配置为输入捕获模式
//开启APB2中TIM8时钟
//设定分频1Mhz ,计数值为65535
//使能CH2 ,IC2
//允许到CCR2中
void TIM8_INIT(u16 arr, u16 psc){
RCC->APB2ENR |= 0x00002000; //TIM8时钟使能
TIM8->ARR = arr;
TIM8->PSC = psc;
TIM8->CCMR1 |= 1<<8; //IC2映射到CH2上
TIM8->CCMR1 |= 0<<10; //IC1输入捕获无预分频
TIM8->CCMR1 |= 0<<12;