-
在使用
TIM
的输入捕获来触发
ADC
的采样时,为什么配置
TIM
< br>时不配置成输入捕获模式,而配置成输出
比较模式???、
如下配置,
,
ADC__Mode = ADC_Mode_Independent;
ADC__ScanConvMode = DISABLE;
ADC__ContinuousConvMode = ENABLE;
ADC__ExternalTrigConv
=ADC_ExternalTrigConv_T2_CC2 (
时钟
TIM2
通道
2
触发
)
ADC__DataAlign =
ADC_DataAlign_Right;
ADC__NbrOfChannel
= 1;
ADC_Init(ADC1,
&ADC_InitStructure);
/* ADC1 regular
channel8 configuration */
ADC_RegularChannelConfig(ADC1, ADC_Channel_8, 1,
ADC_SampleTime_239Cycles5);
ADC_Cmd(ADC1, ENABLE);
/* Enable ADC1
DMA */
ADC_DMACmd(ADC1, ENABLE);
ADC_ExternalTrigConvCmd(ADC1, ENABLE);
ADC_ITConfig(ADC1,ADC_IT_EOC,ENABLE);
//
配置
TIM2 OC2
为
PWM
模式
TIM_OCStructInit(&TIM_OCInitStructure);
//
设置缺省值
TIM__OCMode =
TIM_OCMode_PWM1;
TIM__Pulse
= TIM__Period / 2;//
点空比
TIM__OCPolarity = TIM_OCPolarity_Low;
//TIM
输出比较极性高
(
LOW
也行)
TIM__OutputState = TIM_O
utputState_Enable;//
使能输出状态
TIM_OC2Init(TIM2,
&TIM_OCInitStructure);
//
初始化
TIM2
的
2
通道
TIM_ITC
onfig(TIM2,TIM_IT_Update,ENABLE);
TIM_ARRPreloadConfig(TIM2, ENABLE);
//
使能
TIMx
< br>在
ARR
上的预装载寄存器
TIM_OC2PreloadConfig(TIM2,
TIM_OCPreload_Enable);
//
使能
TIMx
在
CCR2
上的预装载寄
存器
TIM_Cmd(TIM2,
ENABLE);//
使能
TIM1
TIM_CtrlPWMOutputs(TIM2, ENABLE);//TIM1
main Output Enable
(
以上的方法为利用
PWM
的占空比波形进行输出,从而使
T2
获取一个向上的触发源
)
而不将通道配成
/* TIM2 Input Capture
Configuration */
TIM__Channel =
TIM_Channel_2;
TIM__ICPolarity =
TIM_ICPolarity_Rising;
TIM__ICSelection = TIM_ICSelection_DirectTI;
//
管脚与寄存器对应关系
TIM__ICPrescaler = TIM_ICPSC_DIV1;
//
输入模式下,
捕获端口上的每一次边
沿都触发一次捕获
TIM__ICFilter = 0x00
TIM_ICInit(TIM2, &TIM_ICInitStructure);
-
-
-
-
-
-
-
-
-
上一篇:数字示波器操作
下一篇:疫情防控期间在外就餐守则 英语