中科芯32位MCU CKS32F103x8为例介绍如何使用输入捕获的功能进行HTU20P PWM输出占空比的精确测量,进而确定温度值。
软件配置流程如下:
1、选择通道
TIM_ICInitType.TIM_Channel=TIM_Channel_1;
2、配置捕获边沿
TIM_ICInitType.TIM_ICPolarity=TIM_ICPolarity_Rising;
3、设为PWM输入模式
TIM_PWMIConfig(TIM3,&TIM_ICInitType);
4、配置触发源
TIM_SelectInputTrigger(TIM3,TIM_TS_TI1FP1);
5、设置主从模式
TIM_SelectSlaveMode(TIM3,TIM_SlaveMode_Reset);//当捕获到触发源时复位计数器
TIM_SelectMasterSlaveMode(TIM3,TIM_MasterSlaveMode_Enable);//使能
6、使能中断,一个周期测量结束会产生中断
TIM_ITConfig(TIM3,TIM_IT_CC1,ENABLE);
7、中断中的操作
void TIM3_IRQHandler(void)
{
if(TIM_GetITStatus(TIM3,TIM_IT_CC1) == SET)
{
level_t=TIM_GetCapture2(TIM3);//获得CCR2的值,高电平
cycle_t=TIM_GetCapture1(TIM3);//获得CCR1的值,周期
TIM_ClearITPendingBit(TIM3,TIM_IT_CC1);
}
}
无论传感器的输出如何变化,所测得的周期值都是很稳定的,并且计算出的占空比测量值与理论值几乎无差别。
电话
0755-27883824
地址:深圳市宝安区西乡街道银田创意园B8栋502
传真:0755-61204158
邮箱 : 13510937553@163.com
点
击
隐
藏