• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm8输入捕获误差很大

瞎折腾 2019-08-23 浏览量:1339

采用输入捕获方式获取输入端的高电平时的计数值!但是为什么总是差很多呢?我用预分频8获得1M的计数器脉冲,然后测试示波器输出的1k的方波,但是得到的高电平计数值是443!

我用的时外部复位模式

void TIM1_Init(void)
{TIM1_TimebaseInit(8 TIM1_COUNTERMODE_UP 0xffff 0x00);//计数器进行64分频和cco输出频率一致
TIM1->CCMR1|=0X01;
TIM1->CCER1&=0XFD;
TIM1->CCMR2|=0X02;
TIM1->CCER1|=0X20;
TIM1->SMCR|=0X50;
TIM1->SMCR|=0X04;
TIM1->CCER1|=0X11;
TIM1->CR1|=0X01;
TIM1_ITConfig(TIM1_IT_CC2 ENABLE);
TIM1_ITConfig(TIM1_IT_CC1 ENABLE)
}

INTERRUPT_HANDLER(TIM1_CAP_COM_IRQHandler 12)
{
u16_value = TIM1_GetCapture2();
TIM1->SR1=0X00;
  TIM1->SR2=0X00;
​}

不需要重复计数的中断,所以我就直接全清了!

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:0

相关问题

问题达人换一批

stm8输入捕获误差很大