中级会员
 
- 积分
- 381
- 金钱
- 381
- 注册时间
- 2014-10-9
- 在线时间
- 6 小时
|
发表于 2015-1-27 17:36:51
|
显示全部楼层
GPIO_InitTypeDef GPIO_InitStructure; //定义GPIO初始化结构体
TIM_OCInitTypeDef TIM_OCInitStructure;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
GPIO_PinAFConfig(GPIOB,GPIO_PinSource1,GPIO_AF_TIM3);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1; //设置初始化GPIO为PIN9
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_100MHz;//设置GPIO的速度为50MHz
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF;//设置GPIO模式为复用模式 与103的区别
GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;//设置GPIO输出类型为推挽输出
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP; //设置GPIO为连接上拉电阻
GPIO_Init(GPIOB,&GPIO_InitStructure); //初始化GPIOA的PIN9
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_Pulse =0;//  WM信号电平跳变值
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;//当定时器计数值小于CCR1_Val时为高电平
TIM_OC4Init(TIM3, &TIM_OCInitStructure); //使能通道3
TIM_OC4PreloadConfig(TIM3, TIM_OCPreload_Enable);
TIM_TimeBaseStructure.TIM_Period = (20000-1);
TIM_TimeBaseStructure.TIM_Prescaler =(84-1);
TIM_TimeBaseStructure.TIM_ClockDivision =TIM_CKD_DIV1;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
TIM_Cmd(TIM3, ENABLE); //使能定时器3
TIM_ARRPreloadConfig(TIM3, ENABLE); // 使能TIM3重载寄存器ARR
以前调试时定时器的配置,当时使用串口控制来着,再给你发下
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{
USART_SendData(USART1, USART_ReceiveData(USART1)); //发送收到的数据
USART_ClearFlag(USART1, USART_FLAG_RXNE);
if(USART_ReceiveData(USART1)== 'a') //停止 13
{
data=d;
TIM3->CCR4 =data;
d=0;
}
if(USART_ReceiveData(USART1)<=57&&USART_ReceiveData(USART1)>=48)
{
d=d*10+(USART_ReceiveData(USART1)-'0');
// TIM3->CCR4 =0;
}
}
}
仅供参考。。。 |
|