xxxTiq

void IOTriggerDelayOutput_TIM1_Init(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_ICInitTypeDef TIM_ICInitStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;

GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);//???TIM1???

//***********IO init******************//
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;//TIM1 CH1????????????
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;//TIM1 CH2????????????
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);

TIM_ICStructInit(&TIM_ICInitStructure);//??????????
TIM_ICInitStructure.TIM_Channel = TIM_Channel_1;//TIM1 CH1 ?????????
TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Falling;//?????
TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI;//??????????
TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;//????
TIM_ICInitStructure.TIM_ICFilter = 9;  //???
TIM_ICInit(TIM1, &TIM_ICInitStructure);//TIM1 CH1

TIM_SelectInputTrigger(TIM1, TIM_TS_TI1FP1);//
TIM_SelectSlaveMode(TIM1, TIM_SlaveMode_Trigger);//

//---------------------------------------------------------*/
TIM_TimeBaseStructure.TIM_Period = 65535;//??????
TIM_TimeBaseStructure.TIM_Prescaler = 0;//???
TIM_TimeBaseStructure.TIM_ClockDivision = 0;//?????
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;//?????
TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);//????????

//11:B3
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;//TIM1 CH2
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;//???
TIM_OCInitStructure.TIM_Pulse = 15;//11:B3,no Output compare 2 fast enable ,1:81ns,2:91ns,3:112ns,4:123ns,5:136ns,15:268ns,30:472ns,100:1.45us,200:2.84us
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;//???
TIM_OC2Init(TIM1, &TIM_OCInitStructure);

//TIM1->CCMR1 |=1<<10;//Output compare 2 fast enable,46ns delay

TIM1->BDTR |=((uint16_t)0x01 << 15);

TIM_SelectOnePulseMode(TIM1, TIM_OPMode_Single);

RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, DISABLE);//???TIM1???

nR_Low();
TIM2_Delayus(1);
nR_High();

}

void TIM3_Counter_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);	
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); 
GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3, ENABLE);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; 
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;  
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);

TIM_SelectInputTrigger(TIM3, TIM_TS_TI2FP2);
TIM_SelectSlaveMode(TIM3, TIM_SlaveMode_Gated);

TIM3_ICInitStructure.TIM_Channel = TIM_Channel_2;
TIM3_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Falling;
TIM3_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI;
TIM3_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;
TIM3_ICInitStructure.TIM_ICFilter = 2;  
TIM_ICInit(TIM3, &TIM3_ICInitStructure);//TIM3 CH3

TIM_TimeBaseStructure.TIM_Period = 65535; 
TIM_TimeBaseStructure.TIM_Prescaler =0; 		
TIM_TimeBaseStructure.TIM_ClockDivision = 0; 
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); 
TIM_SetCounter (TIM3, 0);
TIM_Cmd(TIM3, ENABLE);  //ʹÄÜTIM3

}

void TIM3_IRQHandler(void)
{

if(TIM_GetITStatus (TIM3, TIM_IT_CC3) != RESET)
{
	TIM_ClearITPendingBit (TIM3,TIM_IT_CC3);
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值